一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認識你,還能領(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進行配置。


圖 1

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

本文基于Xilinx Zynq-7010/7020平臺進行案例測試。

圖2

1、echo_test案例

1.1 案例功能

案例功能:CPU0使用RPMsg向CPU1發(fā)送數(shù)據(jù),CPU1接收到數(shù)據(jù)后再使用RPMsg向CPU0回傳數(shù)據(jù)。CPU0對回傳的數(shù)據(jù)進行驗證,并輸出驗證結(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進行通信。

Target# ./echo_test


圖 5

輸入1,并按回車鍵進行測試。

圖 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ù)后進行矩陣乘法運算,再使用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進行通信。

Target# ./mat_mul_demo


圖 12

輸入1,并按回車鍵進行測試。


圖 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)存地址空間進行重新分配。三者需同步修改并保持一致,以確保固件程序鏈接地址與設(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)注

    5125

    文章

    19438

    瀏覽量

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

    關(guān)注

    25

    文章

    5389

    瀏覽量

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

    關(guān)注

    3

    文章

    144

    瀏覽量

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

    關(guān)注

    5

    文章

    1083

    瀏覽量

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

    關(guān)注

    0

    文章

    196

    瀏覽量

    13396
收藏 人收藏

    評論

    相關(guān)推薦

    STM32H7間如何通信?

    STM32H7通信的方法,主要是CM7和CM4之間如何進行數(shù)據(jù)傳遞
    發(fā)表于 03-12 07:34

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

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

    dac3174與xilinx zynq7000系列連接,fpga的案例參考代碼有沒有?

    dac3174與xilinx zynq7000系列連接,fpga的案例參考代碼有沒有? tsw1400_lvds_dac_sample_wise_restored的代碼寫的實在太難度了,一句注釋都沒有
    發(fā)表于 11-25 06:04

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

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

    【AG32開發(fā)板體驗連載】雷達實現(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 ?1019次閱讀
    如何申請<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 ?2100次閱讀
    <b class='flag-5'>ZYNQ</b>核心板學(xué)習(xí)筆記

    Xilinx ZYNQ 7000系列SoC的功能特性

    本文介紹下Xilinx ZYNQ 7000系列SoC的功能特性、資源特性、封裝兼容性以及如何訂購器件。
    的頭像 發(fā)表于 10-24 15:04 ?2187次閱讀
    <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 ?1751次閱讀
    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)品上市進程。軟件開發(fā)人員可以充分利用基于Eclipse的XilinxPlatformStudio軟件
    發(fā)表于 05-03 19:28