国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 791|回復: 0
打印 上一主題 下一主題

[經驗] 基于Xilinx Zynq-7020/7010實現的雙系統解決方案

[復制鏈接]
跳轉到指定樓層
樓主
發表于 2024-7-9 13:52:34 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
關鍵詞: 嵌入式
現代工業設備系統要求越來越復雜,既要強大的多任務的事務處理能力,又需要低延時實時任務處理能力的需求,特別是工業自動化控制領域(如數控機床、機械臂)、電力監測領域(如DTU、繼保設備、一二次融合設備)等應用場景尤為迫切。為了滿足日益復雜的系統要求,基于Xilinx Zynq-7020/7010實現的雙系統解決方案。

Xilinx Zynq-7020/7010是一款集成雙核ARM Cortex-A9 + Artix-7 FPGA架構的單芯片SoC,它的OpenAMP框架可實現雙核ARM Cortex-A9非對稱使用方案,從而使雙核ARM實現分別跑兩個系統:一個ARM Cortex-A9跑Linux,一個ARM Cortex-A9作為實時核跑RTOS(FreeRTOS)或者裸機。實時核與FPGA端進行低延時的高速數據交換與實時通訊控制,低延時的實時任務要求。而跑Linux的 ARM核作為更上層應用,處理更復雜的業務事務。

Xilinx Zynq-7020/7010單芯片SoC方案配合雙系統的應用為工業控制、電力一二次融合設備、醫療電子、測試測量、汽車電子、通信等應用是更靈活、更具優勢的解決方案。

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配置

上述推文中的案例是在創龍科技(Tronlong)基于Zynq-7010/7020處理器設計的兩款工業評估板——TLZ7x-EasyEVM、TLZ7x-EasyEVM-S上實現的,它由核心板+底板構成。


圖 20 TLZ7x-EasyEVM硬件資源框圖

圖 21 TLZ7x-EasyEVM硬件資源框圖

圖 22 TLZ7x-EasyEVM-S硬件資源框圖


圖 23 TLZ7x-EasyEVM-S硬件資源框圖

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美高清一区二区三区欧美 | 欧美黑寡妇香蕉视频 | 国产精品18久久久久久久久久 | 国产在线观看免费一级 | 日韩亚洲国产欧美精品 | 中文字幕日韩欧美一区二区三区 | 国产高清一区二区三区四区 | 精品久久香蕉国产线看观看亚洲 | 国产片一级毛片视频 | 午夜免费观看_视频在线观看 | 9丨超久久 | 高清视频日韩剧在线观看 | 日韩免费视频观看 | 91高清在线观看 | 性激烈欧美三级在线播放 | 国产欧美一区二区三区在线看 | 国产亚洲一区二区三区 | 午夜性生活视频 | a级黄韩国免费播放 | 国产欧美国产精品第一区 | 精品欧美一区二区在线观看 | 欧美日韩在线视频专区免费 | 天天操天天干天天玩 | 欧美日日日 | 亚洲欧洲日产国码一级毛片 | 四虎影视成人永久在线播放 | 两个人在线观看完整 | 好男人www免费高清视频在线 | 国产美女福利在线 | 精品日韩一区 | 四虎最新紧急入口4hu | 四虎影院免费看 | 亚洲色图综合 | 色啪视频| 久久99国产亚洲高清 | 亚洲一级毛片在线观播放 | 日韩一级影院 | 天天综合在线视频 | 亚洲欧洲日本在线 | 日本一区视频在线播放 | 国产a国产片国产 |