chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

ZYNQ雙核ARM分別運(yùn)行不同的操作系統(tǒng)(基于OpenAMP)

電子電路開(kāi)發(fā)學(xué)習(xí) ? 來(lái)源:Tronlong創(chuàng)龍科技 ? 作者:Tronlong創(chuàng)龍科技 ? 2022-12-05 13:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

基于OpenAMP軟件架構(gòu),可以實(shí)現(xiàn)一個(gè)ARM核運(yùn)行Linux系統(tǒng),而另一個(gè)ARM核運(yùn)行RTOS,如FreeRTOS,或者裸機(jī)跑,RTOS和FPGA端進(jìn)行低延時(shí)的高速數(shù)據(jù)交換,滿足實(shí)時(shí)任務(wù)需求,而跑Linux的ARM核可以作為上層應(yīng)用,處理更復(fù)雜的業(yè)務(wù)邏輯。

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

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

圖 1

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

本文基于創(chuàng)龍科技 Xilinx Zynq-7010/7020平臺(tái)進(jìn)行案例測(cè)試。

1 echo_test案例

1.1案例功能

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

1.2操作說(shuō)明

將CPU1裸機(jī)或FreeRTOS可執(zhí)行文件復(fù)制到評(píng)估板文件系統(tǒng)“/lib/firmware/”目錄下,并執(zhí)行如下命令加載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

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

Target#modprobe rpmsg_user_dev_driver

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

圖 4

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

Target# ./echo_test

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

圖 5

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

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

圖 6

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

圖 7

輸入2,并按回車鍵退出測(cè)試。

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

圖 8

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

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

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

圖 9

2 matrix_multiply案例

2.1案例功能

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

2.2操作說(shuō)明

將CPU1裸機(jī)或FreeRTOS可執(zhí)行文件復(fù)制到評(píng)估板文件系統(tǒng)“/lib/firmware/”目錄下,并執(zhí)行如下命令加載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

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

Target# modprobe rpmsg_user_dev_driver

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

圖 11

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

Target#./mat_mul_demo

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

圖 12

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

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

圖 13

輸入2,并按回車鍵退出測(cè)試。

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

圖 14

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

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

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

圖 15

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

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

表 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容量版本核心板的內(nèi)存地址分配如下:

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

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

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

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

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

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

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

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

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

審核編輯:湯梓紅

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

    關(guān)注

    135

    文章

    9497

    瀏覽量

    388368
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11622

    瀏覽量

    217814
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    7324

    瀏覽量

    128555
  • Zynq
    +關(guān)注

    關(guān)注

    10

    文章

    625

    瀏覽量

    49205

原文標(biāo)題:【分享】ZYNQ雙核ARM分別運(yùn)行不同的操作系統(tǒng)(基于OpenAMP)

文章出處:【微信號(hào):mcu149,微信公眾號(hào):電子電路開(kāi)發(fā)學(xué)習(xí)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    ARM CPU操作系統(tǒng)

    嵌入式操作系統(tǒng)ARM CPU的軟件基礎(chǔ) 從8 位/16位單片機(jī)發(fā)展到以ARM CPU為代表的32位嵌入式處理器,嵌入式操作系統(tǒng)將替代傳
    發(fā)表于 07-04 07:03

    怎么實(shí)現(xiàn)ARM/DSP系統(tǒng)的通信接口的設(shè)計(jì)?

    本文介紹了使用ARM和DSPCPU構(gòu)成的嵌入式系統(tǒng)的硬件平臺(tái),以及源代碼開(kāi)放的Linux作為嵌入式
    發(fā)表于 05-26 06:21

    ARM操作系統(tǒng)應(yīng)用程序

    ZYNQ將CPU和FPGA集成到了一起 開(kāi)發(fā)人員需要具備技能: 1.ARM操作系統(tǒng)應(yīng)用程序 2.設(shè)備驅(qū)動(dòng)程序 3.FPGA硬件邏輯設(shè)計(jì) 需要了解Linux操作系統(tǒng),
    發(fā)表于 07-22 08:55

    關(guān)于Zynq的理論部分

    關(guān)于Zynq的理論部分,文大部分截圖摘抄自《zynqbook》ZYNQ架構(gòu)ARM Cortex-A9 處理器:
    發(fā)表于 07-23 10:11

    ZYNQ7000搭建嵌入式Linux操作系統(tǒng)

    建立這部分請(qǐng)參考我上篇講述搭建操作系統(tǒng)的文章二、VIVADO工程設(shè)置zynq的搭建也請(qǐng)參照上篇文章,不過(guò)需要增加一些內(nèi)容;雙擊zynq,
    發(fā)表于 12-17 06:42

    小白求助如何對(duì)ARM進(jìn)行分運(yùn)行

    ARM如何分運(yùn)行,一個(gè)運(yùn)行操作系統(tǒng) 一個(gè)跑裸機(jī)
    發(fā)表于 01-13 07:27

    DSP/ARM系統(tǒng)的通信接口設(shè)計(jì)

    DSP/ARM系統(tǒng)的通信接口設(shè)計(jì)  嵌入式系統(tǒng)的核心是嵌入式微處理器和嵌入式操作系統(tǒng)
    發(fā)表于 12-21 17:00 ?1988次閱讀
    DSP/<b class='flag-5'>ARM</b><b class='flag-5'>雙</b><b class='flag-5'>核</b><b class='flag-5'>系統(tǒng)</b>的通信接口設(shè)計(jì)

    運(yùn)行Zynq SoC上μITRON(操作系統(tǒng))的繼任者:eT

    eT-Kernel是由eSOL公司推出的基于T-Engine的操作系統(tǒng),有望成為?ITRON操作系統(tǒng)的繼任者,可在Zynq SoC上運(yùn)行
    發(fā)表于 02-10 19:31 ?1599次閱讀

    ZYNQ開(kāi)發(fā)運(yùn)行原理及過(guò)程

    ZYNQ是一個(gè)可擴(kuò)展平臺(tái),就是有FPGA作為外設(shè)的A9處理器,它的啟動(dòng)流程與FPGA完全不同,而與傳統(tǒng)的ARM處理器類似,ZYNQ的啟動(dòng)
    的頭像 發(fā)表于 12-05 10:48 ?6665次閱讀

    ZYNQ OpenAMPARM通信案例開(kāi)發(fā)手冊(cè)

    ZYNQ OpenAMPARM通信案例開(kāi)發(fā)手冊(cè)
    發(fā)表于 07-06 10:27 ?32次下載

    關(guān)于zynq 運(yùn)行的流水燈工程

    zynq 7000 一般有2個(gè)cpu (arm A9),我們一般都用一個(gè)cpu0,本實(shí)驗(yàn)讓2個(gè)cpu 都運(yùn)行起來(lái),cpu0 運(yùn)行操作系統(tǒng)pe
    發(fā)表于 09-13 09:22 ?1639次閱讀

    基于OpenAMP框架的ARM通信案例

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

    Xilinx ZYNQARM通信開(kāi)發(fā)實(shí)例

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

    Zynq的AMP多核處理

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

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

    i.MX 8M Plus平臺(tái)。 OpenAMP架構(gòu) AMP(Asymmetric Multi-Processing),即非對(duì)稱多處理架構(gòu)?!胺菍?duì)稱AMP”雙系統(tǒng)是指多個(gè)核心相對(duì)獨(dú)立運(yùn)行不同的
    的頭像 發(fā)表于 02-27 10:44 ?845次閱讀
    分享!基于NXP i.MX 8M Plus平臺(tái)的<b class='flag-5'>OpenAMP</b><b class='flag-5'>核</b>間通信方案