RM新时代网站-首页

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

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

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

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

機(jī)智云 ? 2022-04-19 18:39 ? 次閱讀

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


Keil版本:V5.30

RT-Thread版本:3.1.5

STM32cubeMX:V6.0.1

開發(fā)板MCU:STM32F103


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


RT-Thread是一個極簡版的硬實時內(nèi)核,它是由 C 語言開發(fā),采用面向?qū)ο蟮?a href="http://hljzzgx.com/v/tag/1315/" target="_blank">編程思維,具有良好的代碼風(fēng)格,是一款可裁剪的、搶占式實時多任務(wù)的 RTOS。其內(nèi)存資源占用極小,功能包括任務(wù)處理、軟件定時器、信號量、郵箱和實時調(diào)度等相對完整的實時操作系統(tǒng)特性。適用于家電、消費(fèi)電子、醫(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 安裝


進(jìn)入打開 CubeMX,從菜單欄help 進(jìn)入 Manage embeddedsoftware packages 界面,點擊 From Url 按鈕,進(jìn)入 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,等待安裝完成,成功安裝后,版本前面的小藍(lán)色框變成填充的黃綠色,如下圖所示:


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ù)進(jìn)行配置。在工程界面 Pinout&Configuration 中,進(jìn)入所選組件參數(shù)配置區(qū),按照下圖進(jìn)行配置。

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ù)定義。如果此時對工程進(jìn)行編譯,沒有出現(xiàn)函數(shù)重復(fù)定義的錯誤,則不用做修改。


pYYBAGI3MR6AHPWpAAdeuUS8vgI188.png



最后保存生成工程即可。

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

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

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



最后的效果就不在演示了,和上一章是一樣的,到這里,機(jī)智云設(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)注

    2270

    文章

    10895

    瀏覽量

    355731
收藏 人收藏

    評論

    相關(guān)推薦

    RT-Thread上CAN實踐

    開箱測試RT-Thread官方已完成了對英飛凌XMC7200EVK的移植,通過shell可以看到做好了uart3的console。本文將介紹如何進(jìn)行RT-ThreadCan移植。接下來
    的頭像 發(fā)表于 11-13 01:03 ?1141次閱讀
    <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 ?369次閱讀
    開源共生 商業(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 ?423次閱讀
    Nordic-<b class='flag-5'>RT-Thread</b>5.1.0<b class='flag-5'>移植</b>筆記

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

    如何在RT-thread studio的裸機(jī)例程上移植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ā)的絕佳機(jī)會。
    的頭像 發(fā)表于 08-07 08:35 ?1169次閱讀
    2024 <b class='flag-5'>RT-Thread</b>全球巡回 線下培訓(xùn)火熱來襲!

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

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

    RT-Thread 新里程碑達(dá)成——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 ?467次閱讀
    <b class='flag-5'>RT-Thread</b> 新里程碑達(dá)成——GitHub Star 破萬!

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

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

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

    4月25日,下午我們將在北京舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上實現(xiàn)同時運(yùn)行RT-Thread和linux,本次workshop邀請到RT-Thread資深
    的頭像 發(fā)表于 04-16 08:35 ?416次閱讀
    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)同時運(yùn)行RT-Thread和linux,本次workshop邀請到RT-Thread資深嵌入式軟件工程師農(nóng)曉明老師為您講
    的頭像 發(fā)表于 03-27 11:36 ?815次閱讀
    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)同時運(yùn)行RT-Thread和linux,本次workshop邀請到RT-Thread資深
    的頭像 發(fā)表于 03-27 08:34 ?527次閱讀
    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 ?615次閱讀
    恩智浦半導(dǎo)體正式加入<b class='flag-5'>RT-Thread</b>全球合作伙伴計劃!

    RT-Thread設(shè)備驅(qū)動開發(fā)指南》基礎(chǔ)篇--以先楫bsp的hwtimer設(shè)備為例

    一、概述(一)RT-Thread設(shè)備驅(qū)動《RT-Thread設(shè)備驅(qū)動開發(fā)指南》書籍是RT-thread官方出品撰寫,系統(tǒng)講解
    的頭像 發(fā)表于 02-24 08:16 ?1632次閱讀
    《<b class='flag-5'>RT-Thread</b><b class='flag-5'>設(shè)備</b>驅(qū)動開發(fā)指南》基礎(chǔ)篇--以先楫bsp的hwtimer<b class='flag-5'>設(shè)備</b>為例

    RT-Thread設(shè)備驅(qū)動開發(fā)指南基礎(chǔ)篇—以先楫bsp的hwtimer設(shè)備為例

    RT-Thread設(shè)備驅(qū)動開發(fā)指南》書籍是RT-thread官方出品撰寫,系統(tǒng)講解RT-thread IO設(shè)備驅(qū)動開發(fā)方法,從三方面進(jìn)行講解
    的頭像 發(fā)表于 02-20 16:01 ?1685次閱讀
    <b class='flag-5'>RT-Thread</b><b class='flag-5'>設(shè)備</b>驅(qū)動開發(fā)指南基礎(chǔ)篇—以先楫bsp的hwtimer<b class='flag-5'>設(shè)備</b>為例
    RM新时代网站-首页