1. 新建工程
1.1 創(chuàng)建基于芯片的工程
1.1.1 選擇創(chuàng)建的rtt版本
前期準(zhǔn)備:從官網(wǎng)下載 RT-Thread Studio,弄個賬號登陸,開啟rt-thread學(xué)習(xí)之旅。
rt-thread有標(biāo)準(zhǔn)版和nano版兩種版本,標(biāo)準(zhǔn)版支持豐富的軟件包和各種組件,而nano版本僅支持msh shell功能,這次就創(chuàng)建標(biāo)準(zhǔn)版本的rtt工程,以便后面更方便的使用軟件包,選擇rtt版本如圖所示:
也可以使用圖標(biāo)來新建,如圖所示:
1.1.2. 配置工程基本屬性
在上一步點(diǎn)擊“RT-Thread項(xiàng)目”后,就進(jìn)入了工程基本屬性的配置界面,如圖所示:
圖中各項(xiàng)的作用描述如下表:
序號 | 名稱 | 描述 |
---|---|---|
① | 工程名 | 指定新建工程的名稱。如果不想讓此工程保存在默認(rèn)的工作空間內(nèi),可以將此欄下面的使用缺省位置去勾選然后指定工程的保存路徑 |
② | 工程模板 | RT-Thread Studio支持兩種模板,一種是基于芯片,另一種是基于開發(fā)板,基于芯片目前只有ST公司的處理器支持的很好;基于開發(fā)板則有很多廠家提供他們的rtt bsp sdk |
③ | RT-Thread內(nèi)核版本 | 更新了RT-Thread Studio之后,選擇最新版本即可 |
④ | 廠商 | RT-Thread Studio支持的芯片廠商,目前ST處理器支持的最好 |
⑤ | 芯片系列 | ST處理器有F1/F3/F4/F7/H7系列的MCU,根據(jù)實(shí)際情況選擇 |
⑥ | 芯片子系列 | 當(dāng)選擇號了芯片系列之后,芯片子系列就會列出該系列芯片的子系列,比如STM32F103系列 |
⑦ | 芯片型號 | 根據(jù)芯片系列和芯片子系列就圈定了芯片型號的范圍,我們在此范圍內(nèi)找到我們要開發(fā)的目標(biāo)芯片,比如STM32F103ZE |
⑧ | 控制臺串口 | 就是msh shell功能使用的串口,這里指向我們板卡上用于輸出調(diào)試信息的或者其它信息的串口,百問網(wǎng)的調(diào)試串口使用的是USART1,引腳是PA9和PA10 |
⑨ | 調(diào)試器 | 調(diào)試芯片的工具,通常由j-link/st-link/daplink等,根據(jù)自己手里面的工具來選擇 |
⑩ | 調(diào)試接口 | 有JTAG接口和SWD接口,根據(jù)板卡的實(shí)際設(shè)計(jì)來選擇 |
根據(jù)這些信息和我們板卡的實(shí)際情況,我的配置如下圖所示:
然后點(diǎn)擊完成,等待工程初創(chuàng)成功:
1.1.3. 初創(chuàng)工程目錄結(jié)構(gòu)
工程初創(chuàng)成功后,得到如下圖的工程,其目錄結(jié)構(gòu)如圖所示:
每項(xiàng)對應(yīng)的功能描述如下表:
序號 | 名稱 | 描述 |
---|---|---|
1 | RT-Thread Settings | RTT Studio內(nèi)置配置工具,可以配置內(nèi)核、組件、軟件包,并將配置保存生成到工程中 |
2 | CubeMX Settings | RTT Stduio內(nèi)置STM32CubeMX工具,用以配置ST處理器的外設(shè) |
3 | Includes | 其中展示了此工程包含使用的所有頭文件 |
4 | applications | 其中包含了用戶開發(fā)的應(yīng)用層的源文件,默認(rèn)包含了main.c,里面實(shí)現(xiàn)了main函數(shù) |
5 | drivers | 里面包含了基于該芯片的外設(shè)驅(qū)動源文件和頭文件,不一定所有的外設(shè)都支持,還有待持續(xù)維護(hù)開發(fā)。對于不支持的外設(shè)還是要用戶自己去實(shí)現(xiàn)驅(qū)動函數(shù) |
6 | libraries | 基于該芯片的庫文件,一般是由廠商提供,RTT Studio將其整理打包放到了工程目錄結(jié)構(gòu)中。在ST芯片的工程中有CMSIS和STM32XXX_HAL_Driver,前者是存放CMSIS標(biāo)準(zhǔn)的頭文件和庫文件,后者是放STM32處理器的HAL庫文件 |
7 | linkscripts | 存放該芯片編譯時的鏈接文件 |
8 | rt-thread | rtt的內(nèi)核文件和組件、軟件包源文件,使用RT-Thread Settings配置的內(nèi)核、組件和軟件包對應(yīng)的源代碼會在這一級中生效 |
9 | rtconfig.h | rtt的配置文件,用以表明會用到哪些內(nèi)核機(jī)制、組件和軟件包,使用RT-Thread Settings配置后會覆蓋之前的改動,所以不建議在rtt studio中手動修改此文件 |
1.1.4. 修改時鐘配置
在前面初創(chuàng)工程的時候有提示說:默認(rèn)的時鐘使用的是HSI來配置系統(tǒng)時鐘,如果要使用別的時鐘源來配置系統(tǒng)時鐘就要去修改drv_clk.c,我們的開發(fā)板有使用精度更高的HSE,所以我們先去修改時鐘配置。
重點(diǎn)要關(guān)注的是這幾行代碼:
// 原本的代碼使用的HSI
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI_DIV2;
...
...
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL16;
// 修改成HSI
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
...
...
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9;
如果不會自己配置系統(tǒng)時鐘,可以使用STM32CubeMX生成一個自己熟悉的工程,復(fù)制時鐘相關(guān)的代碼過來。 好多硬件相關(guān)的配置,使用工具STM32CubeMX都幫我們做好了,直接用就行,沒必要重新造輪子。
對著某些情況的資源,我們可以選擇排除構(gòu)建。
將某項(xiàng)排除構(gòu)建后,該項(xiàng)就會從當(dāng)前的工程目錄被移除,但是還是存在工程文件夾中的,沒有被刪除掉。 如果想要恢復(fù),可以去菜單欄打開“導(dǎo)航”,選擇“打開資源”,如圖所示:
然后點(diǎn)擊左下角的“顯示位置”,選擇“C/C++項(xiàng)目”:
這樣,在“項(xiàng)目資源管理器”的邊上就有一個“C/C++項(xiàng)目”,如圖所示:
可以看到外面之前選擇排除構(gòu)建的cubemx就出現(xiàn)了,圖標(biāo)上有個/,表示該項(xiàng)不會被構(gòu)建,要恢復(fù)就鼠標(biāo)右鍵此項(xiàng),將此項(xiàng)選擇加入構(gòu)建,如圖所示:
恢復(fù)之后,/號就消失,重新構(gòu)建工程,查看是否有配置錯誤。 構(gòu)建成功,那么一個工程就新建好了,可以開始后面對具體外設(shè)、內(nèi)核、組件和軟件包的配置了。
1.1.5. 配置調(diào)試下載器
在調(diào)試或者下載程序之前,需要先去配置調(diào)試下載器,如圖所示:
點(diǎn)擊圖中紅圈中的下拉圖標(biāo)進(jìn)行配置,根據(jù)自己實(shí)際情況選擇即可。
1.2 創(chuàng)建基于開發(fā)板的工程
基于開發(fā)板的和基于芯片的思路是一樣的,只是基于開發(fā)板的會有更多廠商的芯片可以選擇,不過他們對于驅(qū)動的支持可能沒有ST那樣好,很多驅(qū)動需要自己去完成。
2. 配置內(nèi)核
雙擊RT-Thread Settings進(jìn)入配置界面:
點(diǎn)擊紅圈中的左拉箭頭,進(jìn)入細(xì)節(jié)配置:
在這里可以配置內(nèi)核的參數(shù),比如Tick頻率、堆棧、線程通信、內(nèi)存管理等等,按需配置,和FreeRTOS中修改FreeRTOSConfig.h類似的功能。
3. 下載驗(yàn)證
經(jīng)過上面一頓操作后,接下來就是構(gòu)建工程,讓現(xiàn)象呈現(xiàn)出來。 編譯工程
打開調(diào)試串口,觀察現(xiàn)象
可以看到rt-thread成功跑起來,可以在終端中使用各種命令,比如:help,ps等命令,方便開發(fā)者使用。
總之:rh-thread的官方工具還是挺好用,點(diǎn)點(diǎn)鼠標(biāo)就能把相關(guān)的底層配置好,讓用戶專注自己的業(yè)務(wù),可以加快讓產(chǎn)品落地,不過想要做優(yōu)化等工作,就需要研究rt-thread的源碼了,只有對其源碼理解透,做出來的產(chǎn)品才能牛x,更耐用。
-
芯片
+關(guān)注
關(guān)注
459文章
52145瀏覽量
435791 -
mcu
+關(guān)注
關(guān)注
146文章
17824瀏覽量
360071 -
Studio
+關(guān)注
關(guān)注
2文章
203瀏覽量
29490 -
M處理器
+關(guān)注
關(guān)注
0文章
2瀏覽量
5824
發(fā)布評論請先 登錄
RT-Thread記錄(一、版本開發(fā)環(huán)境及配合CubeMX)

如何使用RT-Thread Studio來新建項(xiàng)目
RT-Thread Studio 主要亮點(diǎn)功能
RT-Thread STM32 配置系統(tǒng)時鐘(使用外部晶振)

RT-Thread Studio學(xué)習(xí) 驅(qū)動攀藤PMS5003ST PM2.5傳感器

RT-Thread Studio驅(qū)動SD卡

RT-Thread 內(nèi)核學(xué)習(xí)筆記 - 理解defunct僵尸線程

RT-Thread學(xué)習(xí)筆記 RT-Thread的架構(gòu)概述

使用RT-Thread Studio進(jìn)行智能家居終端的設(shè)計(jì)

rt-studio潘多拉開發(fā)板最新rt-thread不能運(yùn)行解決辦法

評論