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

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

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

3天內不再提示

基于RV64異構多核處理器下如何實現RT-Thread和Linux 同時運行

RTThread物聯網操作系統 ? 來源:RTThread物聯網操作系統 ? 作者: RT-Thread ? 2021-10-28 16:19 ? 次閱讀

注:這是一個由中國科學院軟件研究所合作資助的開源項目,RT-Thread社區參與,并推動更新到upstream。這個過程中也得到了張健,董波(無錫控博),李志銳(廈門大學)的支持,這里一并表示感謝。

RISC-V指令集架構在這幾年中異軍突起,受到大家廣泛的關注,認可,參與,實踐。越來越多的廠商選擇使用RISC-V,從單獨實驗性芯片的嘗試,到備份芯片,到輔助芯片,到獨立芯片,一步步應用到實際的產業應用領域。例如最近平頭哥就針對低端到中高端發布了開源的RISC-V處理器IP core,E902(RV32),E906(帶cache的RV32),C906(單核RV64),C910(多核RV64),同時在上面也支持Linux,RT-Thread等開源操作系統

與此同時RT-Thread團隊也看到了未來異構多核芯片領域會有更多的應用需求,和中國科學院軟件研究所的想法不謀而合,融合RISC-V的異構多核系統這個項目就是在這樣的一個背景下產生,所以雙方聯合來推進,并一起推進到系列開源項目的upstream,讓更多人易于使用,讓產業界受益。

架構說明

本項目以qemu模擬的虛擬硬件:qemu-riscv64-virt為硬件平臺,上面具備Dual RV64 core,分別運行Linux和RTOS(RT-Thread)。對于這類應用,RV64在運行時會涉及到三種運行模式,M-Mode,S-Modem,U-Mode,如下面的架構圖。

5cbd9670-37a5-11ec-82a8-dac502259ad0.png

M-Mode模式,機器模式,一般會運行一些簡單的程序;如果芯片只包含機器模式,可以運行一些裸機程序或者RTOS,多見于MCU芯片;

H-Mode模式,是虛擬化運行模式,此種情況下未涉及,后續不過多提及;

S-Mode, Supervisor Mode模式是管理者模式,用于運行例如Linux內核的操作系統內核;

U-Mode模式,是用戶模式,運行用戶態應用程序;而對于RTOS來說,一般不會運行在層。

在這樣的方式下,硬件底層是RV64的雙核,分別運行Linux和RTOS操作系統,整體的架構如下所示:

5ce14d18-37a5-11ec-82a8-dac502259ad0.png

在這樣的方式下,可以由Linux來完成一些復雜的工作,例如存儲,網絡,顯示等;而RTOS則可以用于實時控制,這里運行RT-Thread開源操作系統。在Linux和RTOS之間,可以通過標準的OpenAMP框架進行通信,異系統間的數據交互。

OpenAMP說明

OpenAMP是Xilinx和Mentor Graphic于2014年發起的一個開源項目,旨在提供一份協處理器的標準通信框架。OpenAMP是對Ohad Ben-Cohen在2011年Linux 3.4.1引入的RPmsg, RemoteProc的在異構處理器上的實現,并采用BSD許可協議開源。

lRemoteProc用于Linux作為master來控制和管理協處理器,對協處理器進行power off/on,reset,load firmware等管理操作;

lRPmsg用于多系統間的IPC消息交互。

OpenAMP本身包括幾個部分:

5d45faa6-37a5-11ec-82a8-dac502259ad0.png

llibmetal,主要涉及OpenAMP在不同底層系統上的對接,分成了對Linux,RTOS及裸機的支持。

lopen-amp,提供對virtio,rpmsg,remoteproc等的實現;

OpenAMP本身以cmake方式編譯,因為原來只包括arm方式的交叉編譯方式,所以這個項目中加入對risc-v交叉編譯方式的支持。默認WITH_PROXY等相關的特性關閉。

編譯 & 運行

針對這樣一套多操作系統的異構系統,我們把它命名成pomegranate(石榴,喻意多子,多系統),單獨放在github和gitee上,可以按照倉庫中的方式進行編譯,并使用起來:

https://github.com/RT-Thread/rtthread-pomegranate

假設在Ubuntu 18.04上,來編譯和使用,需要先把pomegranate clone到本地,例如使用github:

git clone --recursive https://github.com/RT-Thread/rtthread-pomegranate

然后運行下面的腳本,先把需要的標準包下載下來,并展開:

。/dn_prepare.sh

這個腳本會自動下載需要用到的代碼,例如Linux,u-boot,qemu等,以及工具鏈(針對Linux的工具鏈,針對RT-Thread的工具鏈等),并對需要打補丁的代碼進行打補丁。

然后編譯只需要執行下面的shell腳本:

。/build.sh

執行build.sh時,它會分別對涉及到軟件包進行編譯,例如opensbi,u-boot,Linux,open-amp,RT-Thread等,編譯無誤會生成相應的程序文件,及把應用程序復制到Linux的rootfs中。

其中對于一些可以單獨運行的軟件,例如opensbi、u-boot、Linux、RT-Thread等,在各自分別的目錄下有一份run.sh,執行即可使用qemu模擬器來模擬運行。

。/run.sh

這份QEMU做了簡單的改造,模擬出來兩份串口分別給Linux和RT-Thread使用。RT-Thread進行簡單的修改,可以讓它運行在S-Mode下,并支持運行在任意核上。OpenAMP上支持RISC-V方式的交叉編譯等。這部分代碼后續都會推進到各自的upstream端。

未來展望

異構多核處理器并不是一個新事物,例如在ARM芯片上已經存在大量的Cortex-A核+Cortex-M/R核芯片,并應用于各類領域,如手機基帶處理器,實時工業控制處理器,車載MPU安全處理器。

在一顆芯片上同時具備ARM核 + RISC-V核的芯片也逐步出現,OpenAMP是搭建起異構系統間軟通信的一座橋梁,未來可能還不僅限于此,會讓Cortex-A + Cortex-M/R或 RISC-V處理器在使用上更便利,甚至感受不到異構的存在,在多系統間融合,甚至程序的無縫遷移。

編輯:jq

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

    關注

    68

    文章

    19343

    瀏覽量

    230229
  • 芯片
    +關注

    關注

    456

    文章

    50938

    瀏覽量

    424685
  • 串口
    +關注

    關注

    14

    文章

    1555

    瀏覽量

    76660

原文標題:RV64 異構多核處理器下實現RT-Thread和Linux 同時運行

文章出處:【微信號:RTThread,微信公眾號:RTThread物聯網操作系統】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    混合部署 | 在迅為RK3568上同時部署RT-ThreadLinux系統

    系統和RT-Thread系統已經同時運行了,其中CPU0、CPU1、CPU2運行Linux系統,CPU3運行
    發表于 11-01 10:31

    混合部署 | 在迅為RK3568上同時部署RT-ThreadLinux系統

    RT-Thread系統已經同時運行了,其中CPU0、CPU1、CPU2運行Linux系統,CPU3運行
    發表于 09-18 10:54

    混合部署 | 在RK3568上同時部署RT-ThreadLinux系統-迅為電子

    混合部署 | 在RK3568上同時部署RT-ThreadLinux系統-迅為電子
    的頭像 發表于 09-06 15:32 ?442次閱讀
    混合部署 | 在RK3568上<b class='flag-5'>同時</b>部署<b class='flag-5'>RT-Thread</b>和<b class='flag-5'>Linux</b>系統-迅為電子

    RV6464位地址指令

    的 32 位數字。RV64 很接近 RV32但實際上又有所不同;它添加了少量指令同時基礎指令做的事情與 RV32 中稍有不同。 盡管 RV64
    發表于 09-04 15:15

    6月6日杭州站RT-Thread線下workshop,探索RT-Thread混合部署新模式!

    6月6日下午我們將在杭州舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上實現同時運行RT-Threadlinux
    的頭像 發表于 05-28 08:35 ?457次閱讀
    6月6日杭州站<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    5月16日南京站RT-Thread線下workshop,探索RT-Thread混合部署新模式!

    5月16日下午我們將在南京舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上實現同時運行RT-Threadlinux
    的頭像 發表于 05-01 08:35 ?383次閱讀
    5月16日南京站<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    RT-Thread混合部署Workshop北京站來啦!

    4月25日,下午我們將在北京舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上實現同時運行RT-Threadlinux
    的頭像 發表于 04-19 08:34 ?453次閱讀
    <b class='flag-5'>RT-Thread</b>混合部署Workshop北京站來啦!

    4月25日北京站RT-Thread線下workshop,探索RT-Thread混合部署新模式

    4月25日,下午我們將在北京舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上實現同時運行RT-Threadlinux
    的頭像 發表于 04-16 08:35 ?434次閱讀
    4月25日北京站<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式

    【4月10日-深圳-workshop】RT-Thread帶你探索混合部署新模式

    4月10日我們將在深圳福田舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上實現同時運行RT-Threadlinux
    的頭像 發表于 04-04 08:34 ?357次閱讀
    【4月10日-深圳-workshop】<b class='flag-5'>RT-Thread</b>帶你探索混合部署新模式

    4月10日深圳場RT-Thread線下workshop,探索RT-Thread混合部署新模式!

    4月10日我們將在深圳福田舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上實現同時運行RT-Threadlinux
    的頭像 發表于 03-27 11:36 ?839次閱讀
    4月10日深圳場<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    4月10日深圳場RT-Thread線下workshop,探索RT-Thread混合部署新模式!

    4月10日我們將在深圳福田舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上實現同時運行RT-Threadlinux
    的頭像 發表于 03-27 08:34 ?543次閱讀
    4月10日深圳場<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    萬象奧科聯合RT-Thread舉辦RK3568+OpenAMP混合部署線下workshop!

    3月21日,萬象奧科聯合RT-Thread在上海張江舉辦RK3568+OpenAMP混合部署線下workshop,體驗在一個SOC上的同時運行RT-ThreadLinux,為電力、醫
    的頭像 發表于 03-22 11:42 ?945次閱讀
    萬象奧科聯合<b class='flag-5'>RT-Thread</b>舉辦RK3568+OpenAMP混合部署線下workshop!

    就在本周四!探索RT-Thread混合部署新模式!

    3月21日(本周四)我們將在上海張江舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上的實現同時運行RT-Thread
    的頭像 發表于 03-20 08:34 ?570次閱讀
    就在本周四!探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    JH-7110現已支持AMP雙系統(Linux + RT-Thread

    Linux + RT-Thread)的演示示例。 核間通信方式 兩核通信使用標準的virtio-base的RPMsg(Remote Processor Messaging)協議,它定義了異構
    發表于 01-27 15:11

    【RISC-V開放架構設計之道|閱讀體驗】RV64的初體驗和未來的展望

    來提供用戶模式,來限制不可信代碼的內存訪問空間(u模式),因此在支持RV64架構的處理器中會有一個物理內存保護的功能(Physical Memory Protection)。 這個功能也就是我們
    發表于 01-24 22:47
    主站蜘蛛池模板: 99精品免费久久久久久久久蜜桃| 精品久久日日躁夜夜躁AV| 久久理论片迅播影院一级| 中国成人在线视频| 蜜芽国产在线精品欧美| 成年人视频免费在线观看| 成人国内精品久久久久影| 色www.亚洲免费视频| 国产婷婷色一区二区三区在线| 亚洲综合无码一区二区| 嫩草成人影院| 国产免费播放一区二区三区| 在线色av| 手机看片国产日韩欧美| 久久国产伦子伦精品| av淘宝 在线观看| 午夜伦理yy44008影院| 六六影院午夜伦理| 国产女人91精品嗷嗷嗷嗷| 999久久久国产精品蜜臀AV| 善良的小峓子2在钱免费中文字 | 一二三区乱码不卡手机版| 毛片大片免费看| 国产精品一国产AV麻豆| 2018三级网站免费观看| 天天日免费观看视频一1| 乱码中字在线观看一二区| 国产成人综合网在线观看| 99er久久国产精品在线| 亚洲AV无码乱码A片无码蜜桃| 女bbbbxxx孕妇| 狠狠色色综合网站| 大桥未久电影在线观看| 中文无码熟妇人妻AV在线| 亚欧乱亚欧乱色视频| 欧美人与禽zoz0性伦交app| 精品国产乱码久久久久久上海公司| 被男按摩师添的好爽在线直播| 与嫂子同居的日子在线观看| 无套内射纹身女视频| 青青草在现线免费观看|