那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Xilinx ZYNQ雙核ARM通信開發(fā)實例

Tronlong創(chuàng)龍科技 ? 2021-12-27 13:48 ? 次閱讀

前 言:本文主要介紹基于OpenAMP框架的雙核ARM通信案例的使用說明,CPU0(Master)運行Linux系統(tǒng),CPU1(Remote)運行裸機或FreeRTOS程序。CPU0使用remoteproc加載CPU1程序,并對CPU1進(jìn)行配置。


圖 1

OpenAMP詳細(xì)開發(fā)說明可查閱官方文檔。

本文基于Xilinx Zynq-7010/7020平臺進(jìn)行案例測試。

圖2

1、echo_test案例

1.1 案例功能

案例功能:CPU0使用RPMsg向CPU1發(fā)送數(shù)據(jù),CPU1接收到數(shù)據(jù)后再使用RPMsg向CPU0回傳數(shù)據(jù)。CPU0對回傳的數(shù)據(jù)進(jìn)行驗證,并輸出驗證結(jié)果。

1.2 操作說明

將CPU1裸機或FreeRTOS可執(zhí)行文件復(fù)制到評估板文件系統(tǒng)“/lib/firmware/”目錄下,并執(zhí)行如下命令加載CPU1程序。

Target# echo echo_test.elf > /sys/class/remoteproc/remoteproc0/firmware
Target# echo start > /sys/class/remoteproc/remoteproc0/state


圖 3

執(zhí)行如下命令加載RPMsg驅(qū)動,并在“/dev/”目錄下生成RPMsg設(shè)備節(jié)點。
Target# modprobe rpmsg_user_dev_driver


圖 4

將CPU0應(yīng)用程序可執(zhí)行文件復(fù)制到評估板文件系統(tǒng),并執(zhí)行如下命令通過RPMsg與CPU1進(jìn)行通信。

Target# ./echo_test


圖 5

輸入1,并按回車鍵進(jìn)行測試。

圖 6


圖 7

輸入2,并按回車鍵退出測試。


圖 8

執(zhí)行如下命令,停止CPU1程序。

Target# echo stop > /sys/class/remoteproc/remoteproc0/state


圖 9

2、matrix_multiply案例

2.1 案例功能

案例功能:CPU0隨機生成兩個矩陣并使用RPMsg向CPU1發(fā)送數(shù)據(jù),CPU1接收到數(shù)據(jù)后進(jìn)行矩陣乘法運算,再使用RPMsg向CPU0回傳運算結(jié)果,然后CPU0通過串口終端輸出運算結(jié)果。

2.2 操作說明

將CPU1裸機或FreeRTOS可執(zhí)行文件復(fù)制到評估板文件系統(tǒng)“/lib/firmware/”目錄下,并執(zhí)行如下命令加載CPU1程序。

Target# echo matrix_multiply.elf > /sys/class/remoteproc/remoteproc0/firmware

Target# echo start > /sys/class/remoteproc/remoteproc0/state


圖 10

執(zhí)行如下命令加載RPMsg驅(qū)動,并在“/dev/”目錄下生成RPMsg設(shè)備節(jié)點。

Target# modprobe rpmsg_user_dev_driver


圖 11

將CPU0應(yīng)用程序可執(zhí)行文件復(fù)制到評估板文件系統(tǒng),并執(zhí)行如下命令通過RPMsg與CPU1進(jìn)行通信。

Target# ./mat_mul_demo


圖 12

輸入1,并按回車鍵進(jìn)行測試。


圖 13

輸入2,并按回車鍵退出測試。


圖 14

執(zhí)行如下命令,停止CPU1程序。

Target# echo stop > /sys/class/remoteproc/remoteproc0/state


圖 15

3、內(nèi)存分配說明

512MByte DDR容量版本核心板的內(nèi)存地址分配如下:

表 1



1GByte DDR容量版本核心板的內(nèi)存地址分配如下:

表 2



如需修改CPU1程序(OpenAMP-remote app)內(nèi)存地址空間范圍,可通過更改設(shè)備樹文件tlz7x-easyevm-s.dts、資源表rsc_table.c及鏈接文件lscript.ld對內(nèi)存地址空間進(jìn)行重新分配。三者需同步修改并保持一致,以確保固件程序鏈接地址與設(shè)備樹配置的elf_ddr_0對應(yīng)。所使用的資源(內(nèi)存和virtio設(shè)備資源)不能超出設(shè)備樹文件配置的內(nèi)存范圍。


圖 16設(shè)備樹文件tlz7x-easyevm-s.dts配置


圖 17設(shè)備樹文件tlz7x-easyevm-s.dts配置


圖 18 CPU1程序資源表rsc_table.c配置


圖 19 CPU1程序鏈接文件lscript.ld配置

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5092

    文章

    19178

    瀏覽量

    307693
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5121

    瀏覽量

    98200
  • Zynq-7000
    +關(guān)注

    關(guān)注

    3

    文章

    144

    瀏覽量

    36905
  • 核心板
    +關(guān)注

    關(guān)注

    5

    文章

    1029

    瀏覽量

    29953
  • 工控板
    +關(guān)注

    關(guān)注

    0

    文章

    192

    瀏覽量

    13154
收藏 人收藏

    評論

    相關(guān)推薦

    基于Xilinx ZYNQ7000 FPGA嵌入式開發(fā)實戰(zhàn)指南

    電子發(fā)燒友網(wǎng)站提供《基于Xilinx ZYNQ7000 FPGA嵌入式開發(fā)實戰(zhàn)指南.pdf》資料免費下載
    發(fā)表于 12-10 15:31 ?2次下載

    AMD/Xilinx Zynq? UltraScale+ ? MPSoC ZCU102 評估套件

    Zynq UltraScale+ MPSoC 器件,具有四 Arm? Cortex-A53、 Cortex-R5 實時處理器和基于
    的頭像 發(fā)表于 11-20 15:32 ?547次閱讀
    AMD/<b class='flag-5'>Xilinx</b> <b class='flag-5'>Zynq</b>? UltraScale+ ? MPSoC ZCU102 評估套件

    【AG32開發(fā)板體驗連載】雷達(dá)實現(xiàn)與控制

    的項目計劃: 根據(jù)文檔,搭建開發(fā)環(huán)境; 驗證串口通信,并能夠串口控制開發(fā)板; 基于內(nèi)部CPLD資源完成高頻脈沖產(chǎn)生,并能夠通過ARM端實現(xiàn)控制; 完成AD數(shù)據(jù)采集,并通過串口將結(jié)果上傳
    發(fā)表于 10-26 18:11

    如何申請xilinx IP的license

    在使用FPGA的時候,有些IP是需要申請后才能使用的,本文介紹如何申請xilinx IP的license。
    的頭像 發(fā)表于 10-25 16:48 ?489次閱讀
    如何申請<b class='flag-5'>xilinx</b> IP<b class='flag-5'>核</b>的license

    ZYNQ核心板學(xué)習(xí)筆記

    此款開發(fā)板使用的是 Xilinx 公司的 Zynq7000 系列的芯片,型號為 XC7Z020-2CLG484I,484 個引腳的 FBGA 封裝。
    的頭像 發(fā)表于 10-24 18:08 ?1075次閱讀
    <b class='flag-5'>ZYNQ</b>核心板學(xué)習(xí)筆記

    Xilinx ZYNQ 7000系列SoC的功能特性

    本文介紹下Xilinx ZYNQ 7000系列SoC的功能特性、資源特性、封裝兼容性以及如何訂購器件。
    的頭像 發(fā)表于 10-24 15:04 ?1276次閱讀
    <b class='flag-5'>Xilinx</b> <b class='flag-5'>ZYNQ</b> 7000系列SoC的功能特性

    Xilinx? Zynq?UltraScale?系列多處理器中的VCCINT_VCU軌供電

    電子發(fā)燒友網(wǎng)站提供《為Xilinx? Zynq?UltraScale?系列多處理器中的VCCINT_VCU軌供電.pdf》資料免費下載
    發(fā)表于 09-25 10:54 ?0次下載
    為<b class='flag-5'>Xilinx</b>? <b class='flag-5'>Zynq</b>?UltraScale?系列多處理器中的VCCINT_VCU軌供電

    使用TPS65086x PMIC為Xilinx Zynq UltraScale MPSoC供電

    電子發(fā)燒友網(wǎng)站提供《使用TPS65086x PMIC為Xilinx Zynq UltraScale MPSoC供電.pdf》資料免費下載
    發(fā)表于 09-21 11:11 ?0次下載
    使用TPS65086x PMIC為<b class='flag-5'>Xilinx</b> <b class='flag-5'>Zynq</b> UltraScale MPSoC供電

    正點原子ZYNQ7015開發(fā)板!ZYNQ 7000系列、ARM、PCIe2.0、SFPX2,性能強悍,資料豐富!

    本帖最后由 jf_85110202 于 2024-9-14 10:33 編輯 正點原子ZYNQ7015開發(fā)板!ZYNQ 7000系列、
    發(fā)表于 09-14 10:12

    [XILINX] 正點原子ZYNQ7035/7045/7100開發(fā)板發(fā)布、ZYNQ 7000系列、ARM、PCIe2.0、SFPX2!

    正點原子FPGA新品ZYNQ7035/7045/7100開發(fā)板,ZYNQ 7000系列、ARM
    發(fā)表于 09-02 17:18

    5G千兆物聯(lián)網(wǎng)模塊 OpenWrt二次開發(fā)

    HLK-RM20是海凌科2024年推出的首款路由模塊,多端口5G千兆網(wǎng)關(guān),ARM處理器,1.3GHz主頻,支持Openwrt二次開發(fā)。高性能、高速率、低延遲,功能強大,應(yīng)用廣泛。
    的頭像 發(fā)表于 06-03 14:23 ?1329次閱讀
    5G千兆<b class='flag-5'>雙</b><b class='flag-5'>核</b>物聯(lián)網(wǎng)模塊 OpenWrt二次<b class='flag-5'>開發(fā)</b>

    簡談Xilinx Zynq-7000嵌入式系統(tǒng)設(shè)計與實現(xiàn)

    的處理器可以分為軟和硬核處理器。 硬核處理器:早期Xilinx將IBM公司的PowerPC硬核集成在V5系列的FPGA中,后來將ARM公司的
    發(fā)表于 05-08 16:23

    Xilinx ZYNQ 動手實操演練

    Cortex-A9MPCore和定制加速器的并行開發(fā),從而加速了產(chǎn)品上市進(jìn)程。軟件開發(fā)人員可以充分利用基于Eclipse的XilinxPlatformStudio軟件
    發(fā)表于 05-03 19:28

    簡談Xilinx Zynq-7000嵌入式系統(tǒng)設(shè)計與實現(xiàn)

    的PowerPC硬核集成在V5系列的FPGA中,后來將ARM公司的Cortex-A9硬核集成在ZYNQ 7000系列的SoC芯片中 軟
    發(fā)表于 04-10 16:00

    請問FX3的UART口和Xilinx ZYNQ7000的PS端的UART進(jìn)行硬件連接需要TTL電平轉(zhuǎn)換嗎?

    想讓FX3的UART口和Xilinx ZYNQ7000的PS(Processor system)端的內(nèi)置UART相互通信,兩個芯片使用的是同一個電源(同在一塊板子上或分別在兩塊相互連接的板子上),請教一下它們之間的硬件連接需要T
    發(fā)表于 02-28 08:32
    送58百家乐官网的玩法技巧和规则| 顶级赌场371betcwm| 百家乐官网游戏机分析仪| 百家乐体育直播| 百家乐娱乐网77scs| 六合彩码报| 传奇百家乐官网的玩法技巧和规则 | 六合彩即时开奖| 网上百家乐优博| 大发888网上支付| 百家乐官网娱乐场开户注册| 大发888真人斗地主| 百家乐筹码14克| 虞城县| 百家乐注册18元体验金| bet365怎么样| 百家乐官网输了100万| 百家乐一般多大码| 至尊百家乐官网贺一航| 威斯汀百家乐的玩法技巧和规则| 百家乐官网怎么注册| 做生意风水摆件| 988娱乐城| 百家乐官网娱乐礼金| 永利高a1娱乐城送彩金| 回力百家乐官网的玩法技巧和规则 | 大发888注册官方网站| 姚记百家乐官网的玩法技巧和规则| 网络娱乐场| V博百家乐官网的玩法技巧和规则 中骏百家乐官网的玩法技巧和规则 | 威尼斯人娱乐城惊喜| 百家乐官网是怎样算牌| 威尼斯人娱乐城代理注册| 环球国际娱乐城| 澳门百家乐赌技术| 注册送现金真人棋牌| 百家乐轮盘怎么玩| 百家乐官网如何看面| 百家乐赌博详解| 百家乐官网赌缆注码运用| 大发888为什么卡|