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

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

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

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

基于RISC-V內(nèi)核單片機(jī)移植RTOS實(shí)時(shí)操作系統(tǒng)(三)

CHANBAEK ? 來(lái)源:CSDN-借過(guò)風(fēng)景 ? 作者:CSDN-借過(guò)風(fēng)景 ? 2023-01-31 13:52 ? 次閱讀

接著以WCH沁恒微電子的赤菟V103(CH32V103)和赤菟V307(CH32V307)兩款RISC-V內(nèi)核單片機(jī)來(lái)詳細(xì)說(shuō)下針對(duì)RISC-V平臺(tái),移植實(shí)時(shí)操作系統(tǒng)的注意點(diǎn)。

今天聊下移植RTOS時(shí)RISC-V內(nèi)核時(shí)單片機(jī)切換至第一個(gè)任務(wù)。

RT-Thread為例,rt-thread和其他RTOS有點(diǎn)區(qū)別的是其gcc下的入口函數(shù)定義為entry,而main函數(shù)則可以被初始化為線程之一,圖1為rt-thread的詳細(xì)的啟動(dòng)流程。rt-thread定義一個(gè)rt_thread類(lèi)型的全局指針rt_current_thread,用于實(shí)時(shí)獲取當(dāng)前運(yùn)行的線程。從圖9可知,硬件啟動(dòng)后進(jìn)rtthread_startup,其開(kāi)始進(jìn)行了必要的初始化,如系統(tǒng)滴答定時(shí)器、堆、串口、調(diào)度器、定時(shí)器、main線程、空閑idle線程等等,最后執(zhí)行了rt_system_scheduler_start后轉(zhuǎn)交調(diào)度器執(zhí)行。其內(nèi)容如下圖2所示。

poYBAGECCgiAaInbAAEs3dd2mrs534.png

圖1 rt_thread啟動(dòng)流程

pYYBAGPYrEuAWC6IAADViZVU80o027.png

圖2 調(diào)度器啟動(dòng)

由圖2可知,其會(huì)查找優(yōu)先級(jí)較高的就緒組優(yōu)先級(jí),并根據(jù)該優(yōu)先級(jí)查找就緒鏈表,獲取優(yōu)先級(jí)較高的任務(wù)并得到控制塊to_thread,然后調(diào)用rt_hw_context_switch_to切換至該任務(wù)。其是一段匯編實(shí)現(xiàn)的代碼,傳入的參數(shù)為該任務(wù)的sp指針。由前文可知,我們可以根據(jù)to_thread->sp得到該任務(wù)的堆棧位置,該堆棧的頂部空間存儲(chǔ)了執(zhí)行該任務(wù)時(shí)cpu寄存器的值,由此也可推測(cè)該部分匯編代碼主要完成的就是從sp處恢復(fù)cpu寄存器值,并轉(zhuǎn)而執(zhí)行該任務(wù)。其代碼如下圖3所示,詳見(jiàn)注釋。

poYBAGPYrEuAa2jJAAEViOd45Vo522.png

poYBAGPYrEuAcgnxAABtrxtHDbE317.png

圖3 切換至第一個(gè)任務(wù)

由上注釋分析可知,rt_hw_context_switch_to通過(guò)傳入的sp,恢復(fù)cpu寄存器,其中mepc寄存器任務(wù)初始化時(shí)設(shè)置為任務(wù)的入口地址,ra寄存器設(shè)置為返回地址,其指向公用函數(shù)_rt_thread_exit。 當(dāng)mret返回后,pc更新為mepc值,即轉(zhuǎn)向執(zhí)行任務(wù)函數(shù),若其不是一個(gè)持續(xù)執(zhí)行的[while(1)]函數(shù),那么其返回至_rt_thread_exit,刪除該任務(wù),并切換至其他任務(wù)。 由此也可理解圖2中,最后一句注釋“never

come back”的含義了,一旦開(kāi)始執(zhí)行任務(wù),pc值被改變,再不會(huì)回到調(diào)用的地方。

其他RTOS中也有和此匯編函數(shù)類(lèi)似的匯編實(shí)現(xiàn),例如liteOS_M中的HalStartToRun,TencentOS_Tiny中的port_sched_start等。

聲明:本文內(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)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6041

    文章

    44615

    瀏覽量

    637370
  • 移植
    +關(guān)注

    關(guān)注

    1

    文章

    382

    瀏覽量

    28157
  • RTOS
    +關(guān)注

    關(guān)注

    22

    文章

    819

    瀏覽量

    119799
  • 實(shí)時(shí)操作系統(tǒng)

    關(guān)注

    1

    文章

    199

    瀏覽量

    30796
  • RISC-V
    +關(guān)注

    關(guān)注

    45

    文章

    2316

    瀏覽量

    46345
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    什么是實(shí)時(shí)操作系統(tǒng)(RTOS)

    實(shí)時(shí)操作系統(tǒng)RTOS)是一種專(zhuān)為實(shí)時(shí)應(yīng)用程序設(shè)計(jì)的操作系統(tǒng)。實(shí)時(shí)應(yīng)用程序需要在特定時(shí)間內(nèi)做出預(yù)
    的頭像 發(fā)表于 11-23 17:14 ?6171次閱讀

    risc-v的mcu對(duì)RTOS兼容性如何

    RISC-V的MCU對(duì)RTOS實(shí)時(shí)操作系統(tǒng))的兼容性主要取決于多個(gè)因素,包括RTOS的版本、RISC-
    發(fā)表于 05-27 16:26

    RISC-V中***會(huì)子活動(dòng)之一:基于RISC-V的鴻蒙開(kāi)發(fā)板設(shè)計(jì)

    的新一代物聯(lián)網(wǎng)操作系統(tǒng)系統(tǒng),RISC-V單片機(jī)不同于ARM架構(gòu)的單片機(jī)。 RISC-V+鴻蒙,目
    發(fā)表于 06-03 16:26

    如何實(shí)現(xiàn)一個(gè)RISC-V內(nèi)核架構(gòu)的芯片移植工作

    取決于 RTOS 如何實(shí)現(xiàn)當(dāng)然,也可以使用 Software interrupt 來(lái)做任務(wù)切換, libcpu/risc-v/nuclei 這里的內(nèi)核移植,就是使用了 Software interrupt
    發(fā)表于 03-25 10:11

    基于RT-Thread操作系統(tǒng)衍生rt-smart實(shí)時(shí)操作系統(tǒng)簡(jiǎn)介

    ,例如 ARM Cortex-A 系列芯片,MIPS 芯片,帶 MMU 的 RISC-V 芯片等。rt-smart 在 RT-Thread 操作系統(tǒng)的基礎(chǔ)上啟用獨(dú)立、完整的進(jìn)程方式,同時(shí)以混合微內(nèi)核模式
    發(fā)表于 06-22 17:56

    基于實(shí)時(shí)操作系統(tǒng)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)

    介紹了Small RTOS 51 多任務(wù)操作系統(tǒng)的基本原理,結(jié)合單片機(jī)控制的電子存包柜,簡(jiǎn)要介紹了移植small RTOS51 及通過(guò)消息隊(duì)
    發(fā)表于 01-06 16:21 ?51次下載

    關(guān)于單片機(jī)與嵌入式、操作系統(tǒng)RTOS之間的關(guān)系詳解

    這篇文章我們就來(lái)聊一下關(guān)于單片機(jī)與嵌入式、操作系統(tǒng)RTOS 之間的那些事!通過(guò)這篇文章,讓你操作系統(tǒng)實(shí)時(shí)性有一個(gè)
    的頭像 發(fā)表于 03-29 14:20 ?7945次閱讀
    關(guān)于<b class='flag-5'>單片機(jī)</b>與嵌入式、<b class='flag-5'>操作系統(tǒng)</b>與 <b class='flag-5'>RTOS</b>之間的關(guān)系詳解

    實(shí)時(shí)操作系統(tǒng)Free RTOS的詳細(xì)介紹

    ,可基本滿足較小系統(tǒng)的需要。 由于RTOS需占用一定的系統(tǒng)資源(尤其是RAM資源),只有μC/OS-II、embOS、salvo、FreeRTOS等少數(shù)實(shí)時(shí)
    發(fā)表于 06-21 14:30 ?6321次閱讀

    轉(zhuǎn)載:DIY:給單片機(jī)寫(xiě)個(gè)實(shí)時(shí)操作系統(tǒng)內(nèi)核!

    轉(zhuǎn)載:DIY:給單片機(jī)寫(xiě)個(gè)實(shí)時(shí)操作系統(tǒng)內(nèi)核
    發(fā)表于 11-13 19:36 ?1次下載
    轉(zhuǎn)載:DIY:給<b class='flag-5'>單片機(jī)</b>寫(xiě)個(gè)<b class='flag-5'>實(shí)時(shí)</b><b class='flag-5'>操作系統(tǒng)</b><b class='flag-5'>內(nèi)核</b>!

    基于精簡(jiǎn)指令集的RISC-V內(nèi)核單片機(jī)

    RISC-V就不必多說(shuō)了,詳細(xì)大家都了解。它是一個(gè)基于精簡(jiǎn)指令集的開(kāi)源指令集架構(gòu)。與主流的主流的架構(gòu)為x86與ARM架構(gòu)不同,其特點(diǎn)就是完全開(kāi)源。今天跟大家一起盤(pán)點(diǎn)一下國(guó)產(chǎn)RISC-V內(nèi)核
    的頭像 發(fā)表于 10-17 16:49 ?2318次閱讀

    基于RISC-V內(nèi)核單片機(jī)移植RTOS實(shí)時(shí)操作系統(tǒng)(一)

      ARM上移植實(shí)時(shí)操作系統(tǒng)大家可能比較熟悉,且例程較多,對(duì)于RISC-V內(nèi)核單片機(jī),可能相對(duì)
    的頭像 發(fā)表于 01-31 12:08 ?2788次閱讀
    基于<b class='flag-5'>RISC-V</b><b class='flag-5'>內(nèi)核</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>移植</b><b class='flag-5'>RTOS</b><b class='flag-5'>實(shí)時(shí)</b><b class='flag-5'>操作系統(tǒng)</b>(一)

    基于RISC-V內(nèi)核單片機(jī)移植RTOS實(shí)時(shí)操作系統(tǒng)(二)

      今天聊下移植RTOS時(shí)RISC-V內(nèi)核時(shí)單片機(jī)任務(wù)棧保存哪些內(nèi)容。
    的頭像 發(fā)表于 01-31 13:50 ?1681次閱讀
    基于<b class='flag-5'>RISC-V</b><b class='flag-5'>內(nèi)核</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>移植</b><b class='flag-5'>RTOS</b><b class='flag-5'>實(shí)時(shí)</b><b class='flag-5'>操作系統(tǒng)</b>(二)

    基于RISC-V內(nèi)核單片機(jī)移植RTOS實(shí)時(shí)操作系統(tǒng)(四)

     接著以WCH沁恒微電子的赤菟V103(CH32V103)和赤菟V307(CH32V307)兩款RISC-V
    的頭像 發(fā)表于 01-31 13:54 ?1544次閱讀
    基于<b class='flag-5'>RISC-V</b><b class='flag-5'>內(nèi)核</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>移植</b><b class='flag-5'>RTOS</b><b class='flag-5'>實(shí)時(shí)</b><b class='flag-5'>操作系統(tǒng)</b>(四)

    Green Hills Software 為 Imagination RISC-V CPU 增加量產(chǎn)就緒的 RTOS 和工具支持

    認(rèn)證的實(shí)時(shí)操作系統(tǒng)RTOS)以增強(qiáng)生態(tài)系統(tǒng)支持。該合作將繼續(xù)擴(kuò)展到 ImaginationCatapult CPU 系列的未來(lái)產(chǎn)品上。 μ- veloSity
    的頭像 發(fā)表于 07-06 10:15 ?592次閱讀
    Green Hills Software 為 Imagination <b class='flag-5'>RISC-V</b> CPU 增加量產(chǎn)就緒的 <b class='flag-5'>RTOS</b> 和工具支持

    單片機(jī)操作系統(tǒng)有哪些

    單片機(jī)操作系統(tǒng)RTOS)是一種專(zhuān)門(mén)設(shè)計(jì)用于單片機(jī)操作系統(tǒng),它可以提供任務(wù)調(diào)度、內(nèi)存管理、設(shè)備驅(qū)動(dòng)等功能,幫助程序員更高效地開(kāi)發(fā)嵌入式
    的頭像 發(fā)表于 12-08 16:18 ?5482次閱讀
    主站蜘蛛池模板: 久久综合中文字幕佐佐木希| 日韩 亚洲 欧美 中文 高清| 久久精品国产亚洲AV忘忧草蜜臀 | 色橹橹欧美在线观看视频高清| 日韩丰满少妇无码内射| 十次啦中文网| 西施打开双腿下面好紧| 亚洲乱码一区二区三区香蕉| 一本到2019线观看| 最近中文字幕在线中文高清版 | 肉小说高h| 亚洲AV无码专区国产精品99| 一品道门在线观看免费视频| 97人妻无码AV碰碰视频| 变态露出野外调教| 国产色婷婷精品人妻蜜桃成熟时| 精品国产5g影院天天爽| 女生扒开下面| 忘忧草在线| 在线观看亚洲专区5555| xlxx美女| 国产亚洲精品久久播放| 麻豆传煤网站网址入口在线下载 | 国产成人无码WWW免费视频在线| 国产欧美一本道无码| 老版香蕉版下载| 日韩人妻无码精品-专区| 亚洲成色WWW久久网站夜月| 37pao成人国产永久免费视频| 抽插妇女疯狂视频| 九九九精品国产在线| 秋霞网韩国理伦片免费看| 亚洲精品电影久久久影院| 99亚洲精品| 国内精品久久| 欧美一级做a爰片免费| 亚洲精品国产品国语在线试看| 99爱在线精品视频免费观看9| 国产精品久久欧美一区| 麻豆精品人妻一区二区三区蜜桃| 甜宠溺H宝贝嗯撞PLAY啊|