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

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

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

機智云設(shè)備移植RT-Thread

機智云 ? 2022-04-19 18:39 ? 次閱讀

開發(fā)環(huán)境:


Keil版本:V5.30

RT-Thread版本:3.1.5

STM32cubeMX:V6.0.1

開發(fā)板MCU:STM32F103


機智云平臺生成的應(yīng)用代碼是裸機版本的,而在實際應(yīng)用過程中,通常會有多個功能,這個時候就需要用到實時系統(tǒng),比如FreeRTOS, AzureRTOS ThreadX, RT-Thread等,筆者這里推薦RT-thread。


RT-Thread是一個極簡版的硬實時內(nèi)核,它是由 C 語言開發(fā),采用面向?qū)ο蟮?a href="http://www.wenjunhu.com/v/tag/1315/" target="_blank">編程思維,具有良好的代碼風(fēng)格,是一款可裁剪的、搶占式實時多任務(wù)的 RTOS。其內(nèi)存資源占用極小,功能包括任務(wù)處理、軟件定時器信號量、郵箱和實時調(diào)度等相對完整的實時操作系統(tǒng)特性。適用于家電、消費電子、醫(yī)療設(shè)備、工控等領(lǐng)域大量使用的 32 位 ARM 入門級 MCU 的場合。


RT-Thread Nano 以軟件包的方式集成在 Keil MDK 與 CubeMX 中,可以直接在軟件中下載 Nano 軟件包獲取源碼,關(guān)于RT-Thread Nano移植詳情請參看筆者文章:

Keil版本:https://bruceou.blog.csdn.net/article/details/109549430

STM32cubeMX版本:https://bruceou.blog.csdn.net/article/details/109607302


3.1 Nano Pack 安裝


進入打開 CubeMX,從菜單欄help 進入 Manage embeddedsoftware packages 界面,點擊 From Url 按鈕,進入 User DefinedPacks Manager 界面,其次點擊 new,填入上述網(wǎng)址,然后點擊 check,如下圖所示:


poYBAGI3MLqAYhCtAAJvJSG52NU923.png


check 通過后,點擊 OK 回到 User Defined Packs Manager 界面,再次點擊 OK,CubeMX 自動連接服務(wù)器,獲取包描述文件。



pYYBAGI3MMSATzBGAACFCKDxchI207.png


回到 Manage embedded softwarepackages 界面,就會發(fā)現(xiàn) RT-Thread Nano 3.1.5軟件包,選擇該軟件包,點擊 InstallNow,安裝之后,彈出 Licensing Agreement ,同意協(xié)議,然后點擊 Finish,等待安裝完成,成功安裝后,版本前面的小藍色框變成填充的黃綠色,如下圖所示:


pYYBAGI3MOWARmL7AAIrT14L0zc611.png



至此,RT-Thread Nano 軟件包安裝完畢,退出 Manage embeddedsoftware packages 界面。



3.2添加 RT-Thread Nano 到工程

打開基礎(chǔ)工程,點擊 SelectSoftwares,選擇Select Components界面,在 Pack Vendor 中選擇 RealThread, 然后根據(jù)需求選擇 RT-Thread 組件(此處只移植 Nano,只選擇 kernel 即可),然后點擊 OK 按鈕,如下圖所示:



pYYBAGI3MPSAT37rAAXm7LxJNb8760.png



選擇組件之后,對組件參數(shù)進行配置。在工程界面 Pinout&Configuration 中,進入所選組件參數(shù)配置區(qū),按照下圖進行配置。

poYBAGI3MQ2AMYi6AAXGoNva4gk902.png


由于HardFault_Handler()和SysTick_Handler() 中斷服務(wù)例程在RT-Thread的 board.c 中重新實現(xiàn),做了系統(tǒng) OS Tick,所以還需要刪除工程里中原本已經(jīng)實現(xiàn)的HardFault_Handler()和 SysTick_Handler() ,避免在編譯時產(chǎn)生重復(fù)定義。如果此時對工程進行編譯,沒有出現(xiàn)函數(shù)重復(fù)定義的錯誤,則不用做修改。


pYYBAGI3MR6AHPWpAAdeuUS8vgI188.png



最后保存生成工程即可。

成功編譯后下載到MCU即可。

關(guān)于線程的創(chuàng)建與使用可以參看筆者文章:

RT-Thread Nano 線程講解:https://bruceou.blog.csdn.net/article/details/112157693



最后的效果就不在演示了,和上一章是一樣的,到這里,機智云設(shè)備端基本玩的差不多,后面就可以使用所學(xué)知識做一些項目開發(fā)了。

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

    關(guān)注

    2277

    文章

    10952

    瀏覽量

    359244
收藏 人收藏

    評論

    相關(guān)推薦

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

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

    RT-Thread上CAN實踐

    開箱測試RT-Thread官方已完成了對英飛凌XMC7200EVK的移植,通過shell可以看到做好了uart3的console。本文將介紹如何進行RT-ThreadCan移植。接下來
    的頭像 發(fā)表于 11-13 01:03 ?1575次閱讀
    <b class='flag-5'>RT-Thread</b>上CAN實踐

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

    親愛的RT-Thread開發(fā)者我們很高興地宣布,一年一度的RDC(RT-ThreadDeveloperConference,RT-Thread開發(fā)者大會)正式啟動報名!2024RT-Threa
    的頭像 發(fā)表于 10-29 08:06 ?645次閱讀
    開源共生 商業(yè)共贏 | <b class='flag-5'>RT-Thread</b> 2024開發(fā)者大會報名啟動!

    Nordic-RT-Thread5.1.0移植筆記

    Nordic-RT-Thread5.1.0移植筆記
    的頭像 發(fā)表于 10-16 08:09 ?749次閱讀
    Nordic-<b class='flag-5'>RT-Thread</b>5.1.0<b class='flag-5'>移植</b>筆記

    如何在RT-thread studio的裸機例程上移植freertos?

    如何在RT-thread studio的裸機例程上移植freertos
    發(fā)表于 09-13 06:32

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

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

    【好書推薦】RT-Thread設(shè)備驅(qū)動開發(fā)指南

    強烈,他們迫切地希望有一本可以指導(dǎo)他們在RT-Thread上開發(fā)驅(qū)動的指南。為了解決開發(fā)者的燃眉之急,《RT-Thread設(shè)備驅(qū)動開發(fā)指南》來了!希望幫助RT-Thre
    的頭像 發(fā)表于 08-01 08:35 ?839次閱讀
    【好書推薦】<b class='flag-5'>RT-Thread</b><b class='flag-5'>設(shè)備</b>驅(qū)動開發(fā)指南

    RT-Thread 新里程碑達成——GitHub Star 破萬!

    RT-Thread實時操作系統(tǒng)開源項目在GitHub上的star數(shù)量突破一萬!截止發(fā)文,RT-Thread作為實時操作系統(tǒng)在業(yè)界Star數(shù)量排名第一!倉庫地址:https://github.com
    的頭像 發(fā)表于 07-04 08:35 ?582次閱讀
    <b class='flag-5'>RT-Thread</b> 新里程碑達成——GitHub Star 破萬!

    基于 RT-Thread專業(yè)版的EtherCAT主站方案

    (一)方案介紹本方案基于RT-Thread專業(yè)版,在RT-Thread端集成EtherCAT主站協(xié)議,通過EtherCAT對伺服電機或遠程IO進行實時控制,具備傳輸速度快,實時性高,擴展設(shè)備靈活等
    的頭像 發(fā)表于 06-19 08:35 ?1292次閱讀
    基于 <b class='flag-5'>RT-Thread</b>專業(yè)版的EtherCAT主站方案

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

    6月6日下午我們將在杭州舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上實現(xiàn)同時運行RT-Thread和linux,本次workshop邀請到RT-Thread資深
    的頭像 發(fā)表于 05-28 08:35 ?526次閱讀
    6月6日杭州站<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

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

    4月25日,下午我們將在北京舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上實現(xiàn)同時運行RT-Thread和linux,本次workshop邀請到RT-Thread資深
    的頭像 發(fā)表于 04-19 08:34 ?512次閱讀
    <b class='flag-5'>RT-Thread</b>混合部署Workshop北京站來啦!

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

    4月25日,下午我們將在北京舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上實現(xiàn)同時運行RT-Thread和linux,本次workshop邀請到RT-Thread資深
    的頭像 發(fā)表于 04-16 08:35 ?507次閱讀
    4月25日北京站<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平臺上實現(xiàn)同時運行RT-Thread和linux,本次workshop邀請到RT-Thread資深嵌入式軟件工程師農(nóng)曉明老師為您講
    的頭像 發(fā)表于 03-27 11:36 ?955次閱讀
    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平臺上實現(xiàn)同時運行RT-Thread和linux,本次workshop邀請到RT-Thread資深
    的頭像 發(fā)表于 03-27 08:34 ?628次閱讀
    4月10日深圳場<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    恩智浦半導(dǎo)體正式加入RT-Thread全球合作伙伴計劃!

    前不久,恩智浦半導(dǎo)體正式加入RT-Thread全球合作伙伴計劃,成為RT-Thread高級會員合作伙伴。同時,RT-Thread現(xiàn)已成為恩智浦注冊合作伙伴(RT-Thread| 簡介合
    的頭像 發(fā)表于 03-14 10:40 ?735次閱讀
    恩智浦半導(dǎo)體正式加入<b class='flag-5'>RT-Thread</b>全球合作伙伴計劃!