RT-Thread零基礎快速入門第1講——新建工程

一、前言

這一講我來給大家介紹幾種常用的新建工程的方法,在開始之前,我們需要先安裝好RT-thread相關的環境,這個在我上一講有詳細的教程,沒有看過的同學可以點下面的鏈接或者在我的博文RT-thread專欄看一下。
RT-thread零基礎快速入門第1講鏈接:https://blog.csdn.net/ShenZhen_zixian/article/details/105019464
另外,我也是剛入門RT-thread,有些地方可能講的不好或者不全面,勿怪勿怪,如果發現文章有誤,請一定要指正,謝謝!!!

二、使用ENV工具新建項目工程

這是我最推薦大家使用的一種方法,因爲通過ENV工具,我們可以非常方便的增加和刪減我們所需驅動的上層接口,再通過STM32CubeMX配置使能底層驅動,就可以根據我們的需要建立和修改工程。
env詳細的用法可以在RT-thread官方的文檔中心查看,我這裏只講新建工程相關的用法。當然了,後面會根據我的入門教程,逐一介紹env的其他用法。
env使用視頻教程鏈接:https://www.rt-thread.org/document/site/tutorial/env-video/
env創建工程教程鏈接:https://www.rt-thread.org/document/site/application-note/setup/standard-project/an0017-standard-project/

使用env生成工程

第一步:下載RT-thread官方源碼
RT-thread官方源碼下載鏈接:https://www.rt-thread.org/page/download.html
百度網盤地址:https://pan.baidu.com/s/1pAhjlSxzLdJ68kDjNJXJgA
提取碼:46qf
如果官方的鏈接下載比較慢的話可以試一下在我的網盤上面下載
在這裏插入圖片描述
第二步:打開源碼裏面的bsp文件夾,找到你需要建立工程的芯片型號
需要注意的是,源碼文件夾所在的路徑上不能有中文命名的文件夾,不然後面不能正常使用env
建議用版本新一點的源碼,因爲舊版本的源碼包含的芯片會少一些,有些芯片的固件庫沒有。
在這裏插入圖片描述
第三步:在芯片目錄下右鍵,打開env,輸入scons --dist,等待命令執行完畢
scons –dist命令是用來搭建項目框架的,使用此命令會在 BSP 目錄下生成 dist 目錄,這便是開發項目的目錄結構,包含了RT-Thread源碼及BSP相關工程,不相關的BSP文件夾及libcpu都會被移除,並且可以隨意拷貝此工程到任何目錄下使用。
當然,你也可以直接用官方的源碼作爲你的項目工程,不過這樣一來,你的工程文件佔用的內存就比較大了。如果你要用官方源碼作爲工程,可以直接跳到第五步。
在這裏插入圖片描述
第四步:打開dist文件夾,把我們需要的項目工程移到別的文件路徑
當然,就放在這裏也可以,就是下次需要打開項目工程的時候不好找
在這裏插入圖片描述
第五步,在新的工程目錄下重新打開env,輸入menuconfig
輸入的指令可以只輸入前面幾個字母,然後按tab鍵,會自動補全後面的字母
在menuconfig頁面,我們可以配置我們需要的硬件驅動,軟件包等。例如,我們把串口2和串口3打開,可以在Hardware Drivers Config/On-chip Peripheral Drivers/Enable UART目錄下把Enable UART2和Enable UART3打開
menuconfig具體的操作方法可以在官方的文檔中心的Env用戶手冊查看
Env用戶手冊鏈接:https://www.rt-thread.org/document/site/programming-manual/env/env/
在這裏插入圖片描述
在這裏插入圖片描述
第六步:按esc退出menuconfig並保存
退出的時候會提示你是否要保存,點yes保存配置
在這裏插入圖片描述
第七步:在env命令窗口輸入scons –target=mdk5,生成新的項目工程
也可以輸入scons –target=mdk4或者scons –target=iar,根據自己的需要生成對應的工程即可
如果你的目錄沒有錯誤的話,生成新的工程會有下面這些提示,如果要加入工程的文件沒有在項目所在的文件夾裏面的話,會提示找不到這個文件.
在這裏插入圖片描述

使用STM32CubeMX配置底層驅動

第一步:打開我們新建的工程目錄,找到board/ CubeMX_Config目錄下的CubeMX_Config.ioc,這是STM32CubeMX的工程文件
在這裏插入圖片描述
第二步:打開CubeMX_Config.ioc
如果你的STM32CubeMX沒有安裝項目工程芯片對應的固件庫,會有下面的提示,點擊Download下載固件庫。(如果你已經下載了最新的固件庫,而工程用的是老版本的固件庫,也需要再下載舊的固件庫)
在這裏插入圖片描述
第三步:根據需要配置芯片的參數
使用STM32CubeMX我們可以根據需要配置單片機的所有參數,比如晶振時鐘,使能定時器、設置串口波特率等
我這裏只舉一個例子,具體的用法比較多,我這裏就不多說了,你們可以在網上找一下教程
在這裏插入圖片描述
第四步:點擊Project Manger,點擊GENERATE CODE等待生成新的工程即可在這裏插入圖片描述
生成新的工程之後會有下面的提示,點Close即可,不需要打開工程,因爲打開的這個工程是不包含RT-thread框架的,是裸機工程。
實際上我們用STM32CubeMX只是修改工程目錄下面的相關的底層驅動文件而已
在這裏插入圖片描述
第五步:打開工程目錄下的項目文件,編譯
Keil5.24以上版本編譯的時候可能會有一個問題,就是編譯的時候會突然卡住一段時間,雖然最後都能編譯成功,但是需要的時間會比較長。解決的辦法是:打開Project/Options for Target/Output,把Browse Inoformation前面的勾去掉,不過這樣一來,我們就不能跳轉到聲明和定義了。所以建議大家還是不要用keil寫代碼了,用過別的編程軟件的同學應該都知道,keil本身寫代碼也不是特別的方便,我們可以用別的編程軟件寫代碼(比如Visual Studio Code、soucer insigned等),再用keil編譯就行了
在這裏插入圖片描述
在這裏插入圖片描述

三、使用RT-Thread Studio新建項目工程

我基本不用RT-Thread Studio建工程,還是比較喜歡用env建工程。而且據說用RT-Thread Studio建的工程有時候會出問題,因爲這個軟件也是剛開發出來的。但是,不可否認RT-Thread Studio這個軟件用起來的確非常便捷,而且它也可以編譯和燒錄,擺明了就是要替代MDK嘛,雖然要完全替代MDK還有比較長的路要走,但是前景是好的,等這個軟件真正完善的時候,相信會是一個非常強大的軟件。
在官方的文檔中心有非常詳細的RT-Thread Studio使用教程,所以在這裏我就不多說了,感興趣的同學可以去看一下。
RT-Thread Studio使用教程鏈接:https://www.rt-thread.org/document/site/rtthread-studio/nav/#

四、在原有的工程上移植RT-thread

這種方法我個人是不建議大家去用的,既然選擇了RT-Thread,有些習慣我們就需要去改變,以前我們可能會經常在keil裏面把新的文件加到工程裏面,然後把頭文件路徑加進來,或者去修改底層的庫函數的代碼,比如把某個宏定義的註釋打開,等等,包括我自己,其實也是經常這樣做。但是,在使用RT-thread這個操作系統的時候,這些操作效率是很低的,我們用RT-thread主要的精力應該放在應用層的開發,而不是去配底層驅動。例如,我們用env生成一個工程之後用keil把新的文件加進來,等我們調試完成之後發現還需要在env中再增加其他軟件包,這時用env生成新的工程是不包含之前用keil加到工程的文件的,你還需要繼續加一遍。所以,最好的方法是直接用env一次性把所有需要的文件包含進來,把所有配置都設置好。
移植的方法在官方的文檔中心也有詳細的介紹,包括keil,iar等開發環境的教程都有,我就不多說了,感興趣的同學可以去看一下。
使用keil移植RT-Thread教程鏈接:https://www.rt-thread.org/document/site/tutorial/nano/nano-port-keil/an0039-nano-port-keil/
使用IAR移植RT-Thread教程鏈接:https://www.rt-thread.org/document/site/tutorial/nano/nano-port-iar/an0040-nano-port-iar/

五、結束語

關於RT-Thread新建工程的介紹就到這裏,如果你覺得有用,可以點贊收藏,謝謝!!!
後面我會持續更新一些RT-Thread的項目開發,感興趣的同學可以關注博主,謝謝!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章