各位嵌入式軟件工程師想必都有類似的經驗,使用無操作系統開發(fā)單片機式對于時序把控,任務延時,各任務之間的通信很難實現完整地條理清晰地編碼。本文主要介紹國產RT-thread操作系統在單片機上的移植教程分享教程。
對于部分經驗不足的工程師,總會存在各種各樣地因為變量,參數函數位置,以及延時方法等,導致程序運行效率過低地情況。實時操作系統能很好的解決這些問題;一般的,無操作系統的情況下,經驗豐富一些的工程師可能會使用狀態(tài)機加定時器等實現任務的非阻塞延時,使用軟件定時器定時器加回調函數可以實現簡單的定時任務等,在操作系統中可以統一的使用系統延時rt_thread_mdelay來解決問題,使用方法就像最開始學習單片機時的delay()函數一樣,無需擔心任務卡死,在簡單的應用中,如果使用多個任務,完全可以不用考慮系統會死等,當然操作系統還有更高級的功能,此處不作贅述。
本次移植基于國民的n32g430芯片進行移植,
①、首先需要以下鏈接
國民單片機:ftp://download.nationstech.com/
國產RT-Thread操作系統: https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-nano/an0038-nano-introduction
②、軟件
KEIL5,筆者使用得是5.27版本
③、開發(fā)板
淘寶隨便找一個國民技術得N32G430開發(fā)板
下載國民技術的基礎資料包
直接將國民的鏈接粘貼在文件夾路徑框(FTP傳輸),找到如下文件
解壓后找到,此文件為國民的基本支持包
下載RTT NANO版本
建議使用手動下載安裝
下載如下
Keil安裝完成的情況下,分別將RealThread.RT-Thread.3.1.5.pack及Nations.N32G430_DFP.1.1.0.pack雙擊安裝,無需其他設置步驟,軟件會自動安裝到位
先創(chuàng)建一個demo工程,選擇國民的n32g430芯片,確認,軟件自動進入組件選擇
組件選擇:選中如下的內容,
如果彈出報錯,不慌,先截個圖,等下手動拷貝,由于安裝時firmware并不會安裝到位,一般是手動拷貝的,此處手動從國民的SDK中拷貝
Firmware路徑
按照下圖創(chuàng)建目錄拷貝即可
接下來,進入組件管理界面
在剛在的工程文件夾下找到以下文件:
DeviceN32G430K8L7CMSISdevicesystem_n32g430.c
DeviceN32G430K8L7CMSISdevicestartupstartup_n32g430.s
DeviceN32G430K8L732g430_std_periph_driversrcmisc.c
DeviceN32G430K8L732g430_std_periph_driversrcn32g430_rcc.c
DeviceN32G430K8L732g430_std_periph_driversrcn32g430_gpio.c
雙擊添加
選擇編譯器,此步驟不選沒法編譯
之后返回組件選擇,僅保留RTT部分,前邊選組件只是為了保證后續(xù)手動移植時知道選擇那些文件以及從哪里拷貝文件,目標文件在哪里等
接下來配置工程的包含路徑
添加路徑
接下來進行第一次編譯
出現如下報錯證明文件基本移植完成,接下來可以處理系統對接相關內容
首先處理系統時鐘
接下來添加main文件,先建立user文件夾,在文件夾下添加main.c文件,并將文件添加至工程
簡單寫一個空的main函數,開始編譯
接下來編譯完成,僅一個告警,問題不大,可以忽略
接下來處理系統打印,打開控制臺功能
Main任務寫個簡單的打印,編譯
至此,移植全部完成,接下來下載編譯即可,此處不再贅述。
更多技術文章推薦:
今天的分享就到這里啦,EBYTE每一天都致力于更好的助力物聯化、智能化、自動化的發(fā)展,提升資源利用率,更多產品及相關資料,感興趣的小伙伴可以登錄我們的億佰特官網進行了解,也可以直接撥打400電話咨詢技術專員!
相關閱讀:
5、單片機的前世今生