<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Xilinx ZYNQ雙核ARM通信開發實例

Tronlong創龍科技 ? 2021-12-27 13:48 ? 次閱讀

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


圖 1

OpenAMP詳細開發說明可查閱官方文檔。

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

圖2

1、echo_test案例

1.1 案例功能

案例功能:CPU0使用RPMsg向CPU1發送數據,CPU1接收到數據后再使用RPMsg向CPU0回傳數據。CPU0對回傳的數據進行驗證,并輸出驗證結果。

1.2 操作說明

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

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


圖 3

執行如下命令加載RPMsg驅動,并在“/dev/”目錄下生成RPMsg設備節點。
Target# modprobe rpmsg_user_dev_driver


圖 4

將CPU0應用程序可執行文件復制到評估板文件系統,并執行如下命令通過RPMsg與CPU1進行通信。

Target# ./echo_test


圖 5

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

圖 6


圖 7

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


圖 8

執行如下命令,停止CPU1程序。

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


圖 9

2、matrix_multiply案例

2.1 案例功能

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

2.2 操作說明

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

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

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


圖 10

執行如下命令加載RPMsg驅動,并在“/dev/”目錄下生成RPMsg設備節點。

Target# modprobe rpmsg_user_dev_driver


圖 11

將CPU0應用程序可執行文件復制到評估板文件系統,并執行如下命令通過RPMsg與CPU1進行通信。

Target# ./mat_mul_demo


圖 12

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


圖 13

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


圖 14

執行如下命令,停止CPU1程序。

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


圖 15

3、內存分配說明

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

表 1



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

表 2



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


圖 16設備樹文件tlz7x-easyevm-s.dts配置


圖 17設備樹文件tlz7x-easyevm-s.dts配置


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


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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5002

    文章

    18414

    瀏覽量

    291572
  • 開發板
    +關注

    關注

    25

    文章

    4560

    瀏覽量

    94906
  • Zynq-7000
    +關注

    關注

    3

    文章

    144

    瀏覽量

    36644
  • 核心板
    +關注

    關注

    5

    文章

    861

    瀏覽量

    29271
  • 工控板
    +關注

    關注

    0

    文章

    169

    瀏覽量

    12908
收藏 人收藏

    評論

    相關推薦

    簡談Xilinx Zynq-7000嵌入式系統設計與實現

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

    Xilinx ZYNQ 動手實操演練

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

    簡談Xilinx Zynq-7000嵌入式系統設計與實現

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

    AD9683的引腳如何與zynq 7015芯片中的JESD204 ip端口對應相連?

    目前,我在設計中想使用ZYNQ 7015系列的FPGA,利用JESD204 IP接收A/D轉換器AD9683轉換完成后的數據。但是JESD204 IP的端口很多,我不知道應該如何將AD9683
    發表于 12-15 07:14

    Xilinx Zynq產品極限邊緣分析

    電子發燒友網站提供《Xilinx Zynq產品極限邊緣分析.pdf》資料免費下載
    發表于 09-18 10:30 ?0次下載
    <b class='flag-5'>Xilinx</b> <b class='flag-5'>Zynq</b>產品極限邊緣分析

    適用于Xilinx Zynq UltraScale+ MPSoC應用的電源參考設計

    電子發燒友網站提供《適用于Xilinx Zynq UltraScale+ MPSoC應用的電源參考設計.pdf》資料免費下載
    發表于 09-13 09:55 ?7次下載
    適用于<b class='flag-5'>Xilinx</b> <b class='flag-5'>Zynq</b> UltraScale+ MPSoC應用的電源參考設計

    嵌入式HLS 案例開發步驟分享——基于Zynq-7010/20工業開發板(4)

    產品上市時間。 HLS 基本開發流程如下:(1) HLS 工程新建/工程導入(2) 編譯與仿真(3) 綜合(4) IP 封裝(5) IP 測試測試板卡是基于創龍科技Xilinx
    發表于 08-24 14:54

    嵌入式HLS 案例開發步驟分享——基于Zynq-7010/20工業開發板(1)

    目 錄前 言 31 HLS 開發流程說明 51.1 HLS 工程導入 51.2 編譯與仿真 61.3 綜合 81.4 IP 封裝 101.5 IP 測試 14 前 言本文主要介紹 HLS
    發表于 08-24 14:40

    xilinx ZYNQ7000系列基本開發流程之PS端

    ZYNQ 芯片分為 PL 和 PS, PS 端的 IO 分配相對是固定的,不能任意分配,雖然 PS 端的 ARM 是硬核,但是在 ZYNQ 當中也要將 ARM 硬核添加到工程當中才能使
    的頭像 發表于 08-11 09:36 ?5948次閱讀
    <b class='flag-5'>xilinx</b> <b class='flag-5'>ZYNQ</b>7000系列基本<b class='flag-5'>開發</b>流程之PS端

    Xilinx Zynq7035算力指標

    本文介紹廣州星嵌DSP?C6657+Xilinx Zynq7035平臺下Xilinx Zynq7035算力指標。
    的頭像 發表于 07-07 14:15 ?1014次閱讀
    <b class='flag-5'>Xilinx</b> <b class='flag-5'>Zynq</b>7035算力指標

    【資料分享】Xilinx Zynq-7010/7020工業核心板規格書(ARM Cortex-A9 + FPGA,主頻766MHz)

    /FreeRTOSARM通信開發案例 基于PS(裸機) + PL的實時中斷響應案例 基于PL端的HDL、HLS
    發表于 06-25 09:56

    【資料分享】Zynq-7010/7020工業評估板規格書(ARM Cortex-A9 + FPGA,主頻766MHz)

    1 評估板簡介創龍科技TLZ7x-EasyEVM是一款基于Xilinx Zynq-7000系列XC7Z010/XC7Z020高性能低功耗處理器設計的異構多核SoC評估板,處理器集成PS端
    發表于 06-21 17:18

    【資料分享】Xilinx XCZU7EV工業核心板規格書(四ARM Cortex-A53 + ARM Cortex-R5 + FPGA,主頻1.5GHz)

    XCZU7EV高性能處理器設計的高端異構多核SoC工業核心板,處理器集成PS端(四ARM Cortex-A53 + ARM Corte
    發表于 06-21 15:27

    【資料分享】Zynq-7010/7020工業核心板規格書(ARM Cortex-A9 + FPGA,主頻766MHz)

    1 核心板簡介創龍科技SOM-TLZ7x是一款基于Xilinx Zynq-7000系列XC7Z010/XC7Z020高性能低功耗處理器設計的異構多核SoC工業核心板,處理器集成PS端
    發表于 06-21 15:19

    ZYNQ(FPGA)與DSP之間GPIO通信實現

    本文主要介紹說明XQ6657Z35-EVM 高速數據處理評估板ZYNQ(FPGA)與DSP之間GPIO通信的功能、使用步驟以及各個例程的運行效果。1.1 ZYNQ與DSP之間GPIO通信
    發表于 06-16 16:02
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>