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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(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ī)智云平臺(tái)生成的應(yīng)用代碼是裸機(jī)版本的,而在實(shí)際應(yīng)用過程中,通常會(huì)有多個(gè)功能,這個(gè)時(shí)候就需要用到實(shí)時(shí)系統(tǒng),比如FreeRTOS, AzureRTOS ThreadX, RT-Thread等,筆者這里推薦RT-thread。


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


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

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 界面,點(diǎn)擊 From Url 按鈕,進(jìn)入 User DefinedPacks Manager 界面,其次點(diǎn)擊 new,填入上述網(wǎng)址,然后點(diǎn)擊 check,如下圖所示:


poYBAGI3MLqAYhCtAAJvJSG52NU923.png


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



pYYBAGI3MMSATzBGAACFCKDxchI207.png


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


pYYBAGI3MOWARmL7AAIrT14L0zc611.png



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



3.2添加 RT-Thread Nano 到工程

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



pYYBAGI3MPSAT37rAAXm7LxJNb8760.png



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

poYBAGI3MQ2AMYi6AAXGoNva4gk902.png


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


pYYBAGI3MR6AHPWpAAdeuUS8vgI188.png



最后保存生成工程即可。

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

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

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



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

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

    關(guān)注

    2263

    文章

    10846

    瀏覽量

    353763
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Nordic-RT-Thread5.1.0移植筆記

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

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

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

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

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

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

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

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

    4月25日,下午我們將在北京舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺(tái)上實(shí)現(xiàn)同時(shí)運(yùn)行RT-Thread和linux,本次workshop邀請(qǐng)到RT-Thread資深
    的頭像 發(fā)表于 04-16 08:35 ?350次閱讀
    4月25日北京站<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式

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

    4月10日我們將在深圳福田舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺(tái)上實(shí)現(xiàn)同時(shí)運(yùn)行RT-Thread和linux,本次workshop邀請(qǐng)到RT-Thread資深嵌入式軟件工程師農(nóng)曉明老師為您講
    的頭像 發(fā)表于 03-27 11:36 ?704次閱讀
    4月10日深圳場(chǎng)<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

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

    4月10日我們將在深圳福田舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺(tái)上實(shí)現(xiàn)同時(shí)運(yùn)行RT-Thread和linux,本次workshop邀請(qǐng)到RT-Thread資深
    的頭像 發(fā)表于 03-27 08:34 ?434次閱讀
    4月10日深圳場(chǎng)<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

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

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

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

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

    BL808 RT-Thread Wi-Fi驅(qū)動(dòng)適配

    BL808 WiFi 屬于 SOC 單芯片型無線 MCU,片上集成 WiFi 功能,移植 RT-Thread 過程中,需要使用 RT-Thread wlan 框架。
    的頭像 發(fā)表于 12-04 11:38 ?778次閱讀

    RT-thread源碼移植到STM32F10x和STM32F4xx

    RT-thread源碼移植到STM32F10x和STM32F4xx: 一、源碼下載 點(diǎn)擊入門->下載 ? 在歷史版本里邊隨便選取一個(gè) ? 會(huì)進(jìn)入百度盤的下載地址,里邊有全部版本的源碼。這里下載
    的頭像 發(fā)表于 11-15 09:38 ?2214次閱讀
    <b class='flag-5'>RT-thread</b>源碼<b class='flag-5'>移植</b>到STM32F10x和STM32F4xx

    RT-Thread qemu mps2-an385 bsp移植制作 :系統(tǒng)運(yùn)行篇

    前面已經(jīng)讓 RT-Thread 進(jìn)入了 entry 入口函數(shù),并且 調(diào)整 鏈接腳本,自動(dòng)初始化與 MSH shell 的符號(hào)已經(jīng)預(yù)留, 進(jìn)入了 RT-Thread 的初始化流
    的頭像 發(fā)表于 11-14 12:27 ?718次閱讀
    <b class='flag-5'>RT-Thread</b> qemu mps2-an385 bsp<b class='flag-5'>移植</b>制作 :系統(tǒng)運(yùn)行篇

    i.MX RT1170:VGLite移植RT-Thread Nano過程講解(下)

    上篇介紹了如何移植 RT-Thread Nano 內(nèi)核與 Finsh 控制臺(tái)到 RT1170。本篇繼續(xù)介紹如何將 NXP 官方的 VGLite API 移植
    的頭像 發(fā)表于 11-09 11:22 ?819次閱讀

    i.MX RT1170:VGLite移植RT-Thread Nano過程講解(上)

    RT-Thread 是國(guó)人自主研發(fā)的開源實(shí)時(shí)操作系統(tǒng)(RTOS),RT-Thread Nano 是極簡(jiǎn)版的硬實(shí)時(shí)內(nèi)核,內(nèi)存占用小,移植簡(jiǎn)單。VGLite 是 NXP 提供的輕量級(jí) 2D 圖形 API,基于 FreeRTOS 實(shí)現(xiàn)
    的頭像 發(fā)表于 11-09 11:20 ?2323次閱讀
    i.MX <b class='flag-5'>RT</b>1170:VGLite<b class='flag-5'>移植</b><b class='flag-5'>RT-Thread</b> Nano過程講解(上)

    RT-Thread移植到AT32平臺(tái)時(shí)的注意事項(xiàng)和步驟

    AT32移植RT-Thread描述了將RT-Thread移植到AT32平臺(tái)時(shí)的注意事項(xiàng)和步驟,并對(duì)RT-Thread的驅(qū)動(dòng)如何編寫進(jìn)行舉例說
    發(fā)表于 10-24 06:49