各位嵌入式軟件工程師想必都有類似的經(jīng)驗,使用無操作系統(tǒng)開發(fā)單片機(jī)時對于時序把控、任務(wù)延時及各任務(wù)之間的通信很難實現(xiàn)完整地條理清晰地編碼。
對于部分經(jīng)驗不足的工程師,總會存在各種各樣的問題,如因為變量、參數(shù)函數(shù)位置以及延時方法等導(dǎo)致程序運(yùn)行效率過低的情況。實時操作系統(tǒng)能很好地解決這些問題。一般無操作系統(tǒng)的情況下,經(jīng)驗豐富的工程師可能會使用狀態(tài)機(jī)加定時器等實現(xiàn)任務(wù)的非阻塞延時,使用軟件定時器加回調(diào)函數(shù)實現(xiàn)簡單的定時任務(wù)等。
在操作系統(tǒng)中,可以統(tǒng)一使用系統(tǒng)延時rt_thread_mdelay來解決問題,操作方法類似于最開始學(xué)習(xí)單片機(jī)時的delay()函數(shù)一樣,無需擔(dān)心任務(wù)卡死。在簡單的應(yīng)用中,如果使用多個任務(wù),完全可以不用考慮系統(tǒng)會卡死。當(dāng)然,該操作系統(tǒng)還有更高級的功能,此處不作贅述。
資料準(zhǔn)備
本次移植基于國民的N32G430芯片進(jìn)行移植,首先需要以下工具:
國民技術(shù)
軟件:Keil5,筆者使用的是5.27版本
開發(fā)板:淘寶隨便找一個國民技術(shù)的N32G430開發(fā)板,
下載國民技術(shù)的基礎(chǔ)資料包,直接將國民的鏈接粘貼在文件夾路徑框(FTP傳輸),找到如下文件:

解壓后找到,此文件為國民的基本支持包:

下載RTT NANO版本:

建議使用手動下載安裝:

下載如下:

安裝
Keil安裝完成的情況下,分別將RealThread.RT-Thread.3.1.5.pack及Nations.N32G430_DFP.1.1.0.pack雙擊安裝,無需其他設(shè)置步驟,軟件會自動安裝到位。
創(chuàng)建工程
先創(chuàng)建一個demo工程,選擇國民的N32G430芯片,確認(rèn)后軟件自動進(jìn)入組件選擇。

組件選擇:選中如下的內(nèi)容;



如果彈出報錯,先截個圖,稍后手動拷貝,由于安裝時firmware并不會安裝到位,一般是手動拷貝的,此處手動從國民的SDK中拷貝;

Firmware路徑:

按照下圖創(chuàng)建目錄拷貝即可:

接下來,進(jìn)入組件管理界面:

在剛在的工程文件夾下找到以下文件:
\Device\N32G430K8L7\CMSIS\device\system_n32g430.c
\Device\N32G430K8L7\CMSIS\device\startup\startup_n32g430.s
\Device\N32G430K8L7\n32g430_std_periph_driver\src\misc.c
\Device\N32G430K8L7\n32g430_std_periph_driver\src\n32g430_rcc.c
\Device\N32G430K8L7\n32g430_std_periph_driver\src\n32g430_gpio.c
雙擊添加:

選擇編譯器,此步驟不選沒法編譯:

之后返回組件選擇,僅保留RTT部分,前邊選組件只是為了保證后續(xù)手動移植時知道選擇哪些文件以及從哪里拷貝文件,目標(biāo)文件在哪里等。

接下來配置工程的包含路徑:


添加路徑:

接下來進(jìn)行第一次編譯;
出現(xiàn)如下報錯,證明文件基本移植完成,接下來可以處理系統(tǒng)對接相關(guān)內(nèi)容。

首先處理系統(tǒng)時鐘:




接下來添加main文件,先建立user文件夾,在文件夾下添加main.c文件,并將文件添加至工程。


簡單寫一個空的main函數(shù),開始編譯:

編譯完成,僅一個告警,問題不大,可以忽略。

接下來處理系統(tǒng)打印,打開控制臺功能:


main任務(wù)寫個簡單的打印,編譯:

至此,移植全部完成,接下來下載編譯即可,此處不再贅述。
-
單片機(jī)
+關(guān)注
關(guān)注
6072文章
45272瀏覽量
661375 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
7276瀏覽量
128212
發(fā)布評論請先 登錄
RT-Thread操作系統(tǒng)在cortex-m3內(nèi)核的移植原理是什么?
RT-Thread編程指南
嵌入式實時操作系統(tǒng)RT-Thread的特點與體系結(jié)構(gòu)及移植方法詳細(xì)說明
移植RT-Thread的原理與方法
【國產(chǎn)MCU移植】HC32F460基于Keil MDK 移植 RT-Thread Nano
【國產(chǎn)MCU移植】移植RT-Thread到國產(chǎn)芯片HC32F460PETB
【國產(chǎn)MCU移植】移植RT-Thread到國產(chǎn)芯片F(xiàn)M33LC026
國民技術(shù)攜手RT-Thread共同推進(jìn)MCU與RT-Thread操作系統(tǒng)廣泛適配
國民技術(shù)與睿賽德科技(RT-Thread)簽署會員合作協(xié)議
RT-Thread學(xué)習(xí)筆記分享
如何創(chuàng)建RT-Thread Nano工程
RT-Thread操作系統(tǒng)的FreeRTOS兼容層
新書發(fā)布——《實時操作系統(tǒng)應(yīng)用技術(shù):RT-Thread與ARM編程實踐》

國產(chǎn)RT-thread操作系統(tǒng)在國民技術(shù)單片機(jī)上移植
評論