一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

基于RV64異構(gòu)多核處理器下如何實(shí)現(xiàn)RT-Thread和Linux 同時運(yùn)行

RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 來源:RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 作者: RT-Thread ? 2021-10-28 16:19 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

與此同時RT-Thread團(tuán)隊也看到了未來異構(gòu)多核芯片領(lǐng)域會有更多的應(yīng)用需求,和中國科學(xué)院軟件研究所的想法不謀而合,融合RISC-V的異構(gòu)多核系統(tǒng)這個項(xiàng)目就是在這樣的一個背景下產(chǎn)生,所以雙方聯(lián)合來推進(jìn),并一起推進(jìn)到系列開源項(xiàng)目的upstream,讓更多人易于使用,讓產(chǎn)業(yè)界受益。

架構(gòu)說明

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

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

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

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

S-Mode, Supervisor Mode模式是管理者模式,用于運(yùn)行例如Linux內(nèi)核的操作系統(tǒng)內(nèi)核;

U-Mode模式,是用戶模式,運(yùn)行用戶態(tài)應(yīng)用程序;而對于RTOS來說,一般不會運(yùn)行在層。

在這樣的方式下,硬件底層是RV64的雙核,分別運(yùn)行Linux和RTOS操作系統(tǒng),整體的架構(gòu)如下所示:

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

在這樣的方式下,可以由Linux來完成一些復(fù)雜的工作,例如存儲,網(wǎng)絡(luò),顯示等;而RTOS則可以用于實(shí)時控制,這里運(yùn)行RT-Thread開源操作系統(tǒng)。在Linux和RTOS之間,可以通過標(biāo)準(zhǔn)的OpenAMP框架進(jìn)行通信,異系統(tǒng)間的數(shù)據(jù)交互。

OpenAMP說明

OpenAMP是Xilinx和Mentor Graphic于2014年發(fā)起的一個開源項(xiàng)目,旨在提供一份協(xié)處理器的標(biāo)準(zhǔn)通信框架。OpenAMP是對Ohad Ben-Cohen在2011年Linux 3.4.1引入的RPmsg, RemoteProc的在異構(gòu)處理器上的實(shí)現(xiàn),并采用BSD許可協(xié)議開源。

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

lRPmsg用于多系統(tǒng)間的IPC消息交互。

OpenAMP本身包括幾個部分:

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

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

lopen-amp,提供對virtio,rpmsg,remoteproc等的實(shí)現(xiàn);

OpenAMP本身以cmake方式編譯,因?yàn)樵瓉碇话?a target="_blank">arm方式的交叉編譯方式,所以這個項(xiàng)目中加入對risc-v交叉編譯方式的支持。默認(rèn)WITH_PROXY等相關(guān)的特性關(guān)閉。

編譯 & 運(yùn)行

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

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

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

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

然后運(yùn)行下面的腳本,先把需要的標(biāo)準(zhǔn)包下載下來,并展開:

。/dn_prepare.sh

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

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

。/build.sh

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

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

。/run.sh

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

未來展望

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

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

編輯:jq

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

    關(guān)注

    68

    文章

    19894

    瀏覽量

    235186
  • 芯片
    +關(guān)注

    關(guān)注

    460

    文章

    52506

    瀏覽量

    440830
  • 串口
    +關(guān)注

    關(guān)注

    15

    文章

    1588

    瀏覽量

    79937

原文標(biāo)題:RV64 異構(gòu)多核處理器下實(shí)現(xiàn)RT-Thread和Linux 同時運(yùn)行

文章出處:【微信號:RTThread,微信公眾號:RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    RT-Thread BSP全面支持玄鐵全系列RISC-V 處理器 | 技術(shù)集結(jié)

    RT-ThreadBSP全面支持玄鐵全系列RISC-V處理器。玄鐵系列RISC-V處理器由阿里達(dá)摩院研發(fā),涵蓋面向MCU的E系列、面向?qū)崟r應(yīng)用的R系列以及面向MPU的C系列。以玄鐵QEMU為平臺
    的頭像 發(fā)表于 07-03 18:03 ?1630次閱讀
    <b class='flag-5'>RT-Thread</b> BSP全面支持玄鐵全系列RISC-V <b class='flag-5'>處理器</b> | 技術(shù)集結(jié)

    揭秘RT-Thread上的AUTOSAR CP系統(tǒng)

    標(biāo)準(zhǔn),同時保留RT-Thread的POSIX支持與可裁剪性,實(shí)現(xiàn)了通信隔離、診斷模塊集成等關(guān)鍵技術(shù)突破,為車載系統(tǒng)提供高安全、可擴(kuò)展的解決方案。車載電子系統(tǒng)與傳統(tǒng)
    的頭像 發(fā)表于 06-23 20:22 ?2312次閱讀
    揭秘<b class='flag-5'>RT-Thread</b>上的AUTOSAR CP系統(tǒng)

    人形機(jī)器人敏捷開發(fā)新路徑:RT-Thread以軟件底座破解復(fù)雜系統(tǒng)難題 | 新聞速遞

    機(jī)器人行業(yè)解決方案負(fù)責(zé)人郭占鑫發(fā)表《從異構(gòu)通信到虛擬化技術(shù):RT-Thread助力機(jī)器人敏捷、可持續(xù)開發(fā)》主題演講,系統(tǒng)闡述了RT-Thread操作系統(tǒng)在機(jī)器人領(lǐng)
    的頭像 發(fā)表于 06-04 14:03 ?619次閱讀
    人形機(jī)器人敏捷開發(fā)新路徑:<b class='flag-5'>RT-Thread</b>以軟件底座破解復(fù)雜系統(tǒng)難題 | 新聞速遞

    RT-Thread 上如何實(shí)現(xiàn) SLAAC?

    大佬們,本菜鳥有一些網(wǎng)絡(luò)上的問題需要幫助: RT-Thread 上如何實(shí)現(xiàn) SLAAC(無狀態(tài)地址自動分配),給連接到我的板子的設(shè)備分配 IPv6 地址; RT-Thread 如何發(fā)送以太網(wǎng)報文,要求從報文頭開始都是我自己組,
    發(fā)表于 05-27 07:21

    RT-Thread睿賽德攜“程翧整車基礎(chǔ)軟件OS”亮相車展,多核虛擬化跨域驅(qū)動智能汽車發(fā)展

    ,攜RT-Thread“程翧整車基礎(chǔ)軟件OS”首發(fā)亮相,并系統(tǒng)性闡述睿賽德在多核MCU虛擬化技術(shù)領(lǐng)域的突破性成果。RT-Thread睿賽德創(chuàng)始人兼CEO熊譜翔攜整車
    的頭像 發(fā)表于 04-25 20:53 ?742次閱讀
    <b class='flag-5'>RT-Thread</b>睿賽德攜“程翧整車基礎(chǔ)軟件OS”亮相車展,<b class='flag-5'>多核</b>虛擬化跨域驅(qū)動智能汽車發(fā)展

    如何將RT-Thread移植到NXP MCUXPressoIDE上

    RT-Thread默認(rèn)支持的IDE只有IAR 和 Keil, 那如何將RT-Thread移植到NXP MCUXPressoIDE上呢?本文內(nèi)容比較簡單但稍有瑣碎,希望對有需要的小伙伴有所幫助。
    的頭像 發(fā)表于 02-13 10:37 ?1919次閱讀
    如何將<b class='flag-5'>RT-Thread</b>移植到NXP MCUXPressoIDE上

    RT-Thread上CAN實(shí)踐

    開箱測試RT-Thread官方已完成了對英飛凌XMC7200EVK的移植,通過shell可以看到做好了uart3的console。本文將介紹如何進(jìn)行RT-ThreadCan移植。接下來我們要完成CAN_FD的驅(qū)動移植,并正常啟動RT-T
    的頭像 發(fā)表于 11-13 01:03 ?2115次閱讀
    <b class='flag-5'>RT-Thread</b>上CAN實(shí)踐

    混合部署 | 在迅為RK3568上同時部署RT-ThreadLinux系統(tǒng)

    系統(tǒng)和RT-Thread系統(tǒng)已經(jīng)同時運(yùn)行了,其中CPU0、CPU1、CPU2運(yùn)行Linux系統(tǒng),CPU3運(yùn)行
    發(fā)表于 11-01 10:31

    開源共生 商業(yè)共贏 | RT-Thread 2024開發(fā)者大會報名啟動!

    開發(fā)者大會將以“開源共生,商業(yè)共贏”為主題,將于2024年12月21日全天在上海臨港中心舉行。開源RT-Thread如何實(shí)現(xiàn)商業(yè)化?這一直是外界對RT-Thread
    的頭像 發(fā)表于 10-29 08:06 ?961次閱讀
    開源共生 商業(yè)共贏 | <b class='flag-5'>RT-Thread</b> 2024開發(fā)者大會報名啟動!

    混合部署 | 在迅為RK3568上同時部署RT-ThreadLinux系統(tǒng)

    RT-Thread系統(tǒng)已經(jīng)同時運(yùn)行了,其中CPU0、CPU1、CPU2運(yùn)行Linux系統(tǒng),CPU3運(yùn)行
    發(fā)表于 09-18 10:54

    混合部署 | 在RK3568上同時部署RT-ThreadLinux系統(tǒng)-迅為電子

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

    RV6464位地址指令

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

    瑞薩電子全球VP蒞臨RT-Thread指導(dǎo)交流

    近日,瑞薩電子高級副總裁関俊彥(ToshihikoSeki)先生及瑞薩電子嵌入式處理器事業(yè)部市場總監(jiān)沈清女士一行拜訪了上海睿賽德電子科技有限公司。RT-Thread創(chuàng)始人兼首席執(zhí)行官熊譜翔先生及其
    的頭像 發(fā)表于 08-30 13:11 ?875次閱讀
    瑞薩電子全球VP蒞臨<b class='flag-5'>RT-Thread</b>指導(dǎo)交流

    【QEMU系列】不用開發(fā)板運(yùn)行RT-Thread指南-ARM架構(gòu)

    成為一個門檻。本文將詳細(xì)介紹如何在QEMU虛擬機(jī)的Vexpress-A9平臺上運(yùn)行RT-Thread,幫助開發(fā)者在沒有實(shí)際硬件開發(fā)板的情況,輕松體驗(yàn)和學(xué)習(xí)RT-Th
    的頭像 發(fā)表于 08-09 08:35 ?1608次閱讀
    【QEMU系列】不用開發(fā)板<b class='flag-5'>運(yùn)行</b><b class='flag-5'>RT-Thread</b>指南-ARM架構(gòu)

    2024 RT-Thread全球巡回 線下培訓(xùn)火熱來襲!

    親愛的RT-Thread社區(qū)成員們:我們非常高興地宣布,2024年RT-Thread全球開發(fā)者線下培訓(xùn)即將拉開帷幕!24年全球巡回培訓(xùn)將覆蓋超10座城市及國家,為開發(fā)者提供一個深入學(xué)習(xí)RT-Thread嵌入式開發(fā)的絕佳機(jī)會。
    的頭像 發(fā)表于 08-07 08:35 ?2948次閱讀
    2024 <b class='flag-5'>RT-Thread</b>全球巡回 線下培訓(xùn)火熱來襲!