色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

ZYNQ雙核ARM分別運行不同的操作系統(基于OpenAMP)

電子電路開發學習 ? 來源:Tronlong創龍科技 ? 作者:Tronlong創龍科技 ? 2022-12-05 13:46 ? 次閱讀

ZYNQ系列是Xilinx最近幾年推出的多核異構SoC,集成了FPGAARM處理器,ARM部分是雙核ARM Cortex-A9處理器,雙核可以同時對稱使用,還可以非對稱使用

基于OpenAMP軟件架構,可以實現一個ARM核運行Linux系統,而另一個ARM核運行RTOS,如FreeRTOS,或者裸機跑,RTOS和FPGA端進行低延時的高速數據交換,滿足實時任務需求,而跑Linux的ARM核可以作為上層應用,處理更復雜的業務邏輯。

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

87e15f4c-7450-11ed-8abf-dac502259ad0.png

圖 1

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

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

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

884aef0c-7450-11ed-8abf-dac502259ad0.png

圖 3

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

Target#modprobe rpmsg_user_dev_driver

885750a8-7450-11ed-8abf-dac502259ad0.png

圖 4

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

Target# ./echo_test

88624922-7450-11ed-8abf-dac502259ad0.png

圖 5

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

887b2bea-7450-11ed-8abf-dac502259ad0.png

圖 6

88878854-7450-11ed-8abf-dac502259ad0.png

圖 7

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

889b0096-7450-11ed-8abf-dac502259ad0.png

圖 8

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

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

88a810f6-7450-11ed-8abf-dac502259ad0.png

圖 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

88b82054-7450-11ed-8abf-dac502259ad0.png

圖 10

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

Target# modprobe rpmsg_user_dev_driver

88c355f0-7450-11ed-8abf-dac502259ad0.png

圖 11

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

Target#./mat_mul_demo

88cfbc3c-7450-11ed-8abf-dac502259ad0.png

圖 12

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

88e5056a-7450-11ed-8abf-dac502259ad0.png

圖 13

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

88f6e294-7450-11ed-8abf-dac502259ad0.png

圖 14

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

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

88a810f6-7450-11ed-8abf-dac502259ad0.png

圖 15

3內存分配說明

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

表 1

名稱 地址范圍 范圍大小
PSLinux 0~0x17FF FFFF 384MByte
PLMicroBlaze 0x1800 0000~0x18FF FFFF 16MByte
OpenAMP-remoteapp 0x1900 0000~0x19FF FFFF 16MByte
PL 0x1A00 0000~0x1FFF FFFF 96MByte

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

表 2

名稱 地址范圍 范圍大小
PSLinux 0~0x17FF FFFF 384MByte
PLMicroBlaze 0x1800 0000~0x18FF FFFF 16MByte
OpenAMP-remoteapp 0x1900 0000~0x19FF FFFF 16MByte
PL 0x1A00 0000~0x1FFF FFFF 96MByte
PSLinux 0x2000 0000~0x3FFF FFFF 512MByte

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

8911174a-7450-11ed-8abf-dac502259ad0.png

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

89485a7a-7450-11ed-8abf-dac502259ad0.png

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

89561ff2-7450-11ed-8abf-dac502259ad0.png

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

896385b6-7450-11ed-8abf-dac502259ad0.png

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

審核編輯:湯梓紅

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

    關注

    134

    文章

    9207

    瀏覽量

    371057
  • Linux
    +關注

    關注

    87

    文章

    11373

    瀏覽量

    211293
  • 操作系統
    +關注

    關注

    37

    文章

    6941

    瀏覽量

    124154
  • Zynq
    +關注

    關注

    10

    文章

    611

    瀏覽量

    47486

原文標題:【分享】ZYNQ雙核ARM分別運行不同的操作系統(基于OpenAMP)

文章出處:【微信號:mcu149,微信公眾號:電子電路開發學習】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    ARM CPU操作系統

    嵌入式操作系統ARM CPU的軟件基礎 從8 位/16位單片機發展到以ARM CPU為代表的32位嵌入式處理器,嵌入式操作系統將替代傳
    發表于 07-04 07:03

    怎么實現ARM/DSP系統的通信接口的設計?

    本文介紹了使用ARM和DSPCPU構成的嵌入式系統的硬件平臺,以及源代碼開放的Linux作為嵌入式
    發表于 05-26 06:21

    ARM操作系統應用程序

    ZYNQ將CPU和FPGA集成到了一起 開發人員需要具備技能: 1.ARM操作系統應用程序 2.設備驅動程序 3.FPGA硬件邏輯設計 需要了解Linux操作系統
    發表于 07-22 08:55

    關于Zynq的理論部分

    關于Zynq的理論部分,文大部分截圖摘抄自《zynqbook》ZYNQ架構ARM Cortex-A9 處理器:
    發表于 07-23 10:11

    ZYNQ7000搭建嵌入式Linux操作系統

    建立這部分請參考我上篇講述搭建操作系統的文章二、VIVADO工程設置zynq的搭建也請參照上篇文章,不過需要增加一些內容;雙擊zynq
    發表于 12-17 06:42

    小白求助如何對ARM進行分運行

    ARM如何分運行,一個運行操作系統 一個跑裸機
    發表于 01-13 07:27

    DSP/ARM系統的通信接口設計

    DSP/ARM系統的通信接口設計  嵌入式系統的核心是嵌入式微處理器和嵌入式操作系統
    發表于 12-21 17:00 ?1805次閱讀
    DSP/<b class='flag-5'>ARM</b><b class='flag-5'>雙</b><b class='flag-5'>核</b><b class='flag-5'>系統</b>的通信接口設計

    運行Zynq SoC上μITRON(操作系統)的繼任者:eT

    eT-Kernel是由eSOL公司推出的基于T-Engine的操作系統,有望成為?ITRON操作系統的繼任者,可在Zynq SoC上運行
    發表于 02-10 19:31 ?1398次閱讀

    ZYNQ開發運行原理及過程

    ZYNQ是一個可擴展平臺,就是有FPGA作為外設的A9處理器,它的啟動流程與FPGA完全不同,而與傳統的ARM處理器類似,ZYNQ的啟動
    的頭像 發表于 12-05 10:48 ?6056次閱讀

    ZYNQ OpenAMPARM通信案例開發手冊

    ZYNQ OpenAMPARM通信案例開發手冊
    發表于 07-06 10:27 ?32次下載

    關于zynq 運行的流水燈工程

    zynq 7000 一般有2個cpu (arm A9),我們一般都用一個cpu0,本實驗讓2個cpu 都運行起來,cpu0 運行操作系統pe
    發表于 09-13 09:22 ?1188次閱讀

    基于OpenAMP框架的ARM通信案例

    本文主要介紹基于OpenAMP框架的ARM通信案例的使用說明,CPU0(Master)運行Linux
    發表于 11-30 12:44 ?5393次閱讀

    Xilinx ZYNQARM通信開發實例

    前言:本文主要介紹基于OpenAMP框架的ARM通信案例的使用說明,CPU0(Master)運行Linux
    的頭像 發表于 12-27 13:48 ?2223次閱讀
    Xilinx <b class='flag-5'>ZYNQ</b><b class='flag-5'>雙</b><b class='flag-5'>核</b><b class='flag-5'>ARM</b>通信開發實例

    Zynq的AMP多核處理

    寫的是Zynq 7000系列的,arm有兩個。主要有AMP和SMP兩種方式,SMP是兩個運行一個操作
    的頭像 發表于 10-17 16:59 ?1018次閱讀
    <b class='flag-5'>Zynq</b>的AMP多核處理

    分享!基于NXP i.MX 8M Plus平臺的OpenAMP間通信方案

    i.MX 8M Plus平臺。 OpenAMP架構 AMP(Asymmetric Multi-Processing),即非對稱多處理架構。“非對稱AMP”雙系統是指多個核心相對獨立運行不同的
    的頭像 發表于 02-27 10:44 ?140次閱讀
    分享!基于NXP i.MX 8M Plus平臺的<b class='flag-5'>OpenAMP</b><b class='flag-5'>核</b>間通信方案
    主站蜘蛛池模板: 国产99视频精品一区 | 久久中文电影 | 好紧好湿太硬了我太爽了小说 | 色一伦一情一区二区三区 | 99在线观看视频 | 黄色亚洲片 | 色综合久久网女同蕾丝边 | 亚州中文字幕 | 乌克兰成人性色生活片 | 亚洲网站视频在线观看 | 亚洲一卡久久4卡5卡6卡7卡 | 欧美性最猛xxxx在线观看视频 | 国产成人国产在线观看入口 | 暖暖 视频 免费 高清 在线观看 | 97欧美精品大香伊蕉在人线 | 草久热的视频在线观看 | 校草让我脱了内裤给全班看 | 和尚扒开双腿蹂躏 | 国拍在线精品视频免费观看 | 中文字幕无码一区二区免费 | 琪琪电影午夜理论片YY6080 | 国产99久久亚洲综合精品西瓜tv | 羞羞影院午夜男女爽爽影院网站 | 亚洲欧美日本国产在线观18 | 亚洲精品影院久久久久久 | 国产乱子影视频上线免费观看 | 牛牛在线1视频 | 青娱乐极品视觉盛宴国产视频 | 国产成人免费高清视频 | 视频一区二区三区蜜桃麻豆 | 午夜影院和视费x看 | 国产 亚洲 中文字幕 久久网 | 折磨比基尼美女挠肚子 | 亚洲色婷婷久久精品AV蜜桃 | 国产亚洲精品首页在线播放 | 日韩久久影院 | 黄桃AV无码免费一区二区三区 | 国产亚洲va在线电影 | 亚洲国产成人精品无码区5566 | 三级网站视频在线观看 | 娇妻玩4P被三个男人伺候电影 |