STM32CubeMX下載
RT-Thread Studio下載
安裝好RT-Thread Studio后,先打開RT-Thread SDK管理器確認(rèn)有沒有自己MCU需要的SDK包,直接安裝好之后里面是有STM32F1系列的SDK包,其他的需要自己安裝。
之后點擊文件→新建→RT-Thread項目,根據(jù)自己需要配置好后點擊完成就會生成RT-Thread項目。
新建項目后點擊構(gòu)建,這時候應(yīng)該是不會報錯的,直接下載進板子里就會打印出RT-Thread的信息。
如果沒有打印出信息,這個時候調(diào)試可能會發(fā)現(xiàn)進入rt_hw_hard_fault_exception()函數(shù)的while(1)循環(huán)中。
如果出現(xiàn)這種錯誤,可以試一下使用STM32F1系列的創(chuàng)建一個RT-Thread項目,應(yīng)該是可以直接跑的。那么就沒必要去研究為什么出現(xiàn)這種錯誤,直接更換SDK包,重新試一下,如果還是不行的話就更換一下RT-Thread Studio的版本,我本來用的是2.2.6版本的,后來換成2.2.5版本的就沒有問題,新建的項目可以直接跑。
這樣項目就建好了,之后可以通過STM32CubeMX來配置自己的工程,配置好之后在Project Manager界面設(shè)置不要生成main函數(shù),因為新建的RT-Thread項目里面已經(jīng)有main函數(shù)了。
在Code Generator界面不要勾選為每個外設(shè)單獨生成.c和.h文件,因為通過STM32CubeMX生成的工程在RT-Thread項目中實際使用的只有stm32l4xx_hal_msp.c和stm32l4xx_hal_conf.h文件。conf.h文件用來使能外設(shè)模塊,msp.c包含管腳和時鐘初始化等,這樣的話所有外設(shè)的設(shè)置都在一個msp.c里面,方便管理。
之后就可以生成代碼了,生成之后界面如下:
STM32CubeMX生成的代碼main.c中只使用了SystemClock_Config()函數(shù)來配置時鐘,這個函數(shù)會在drv_clk.c里面clk_init()函數(shù)中調(diào)用。
void clk_init(char *clk_source, int source_freq, int target_freq)
{
/*
* Use SystemClock_Config generated from STM32CubeMX for clock init
* system_clock_config(target_freq);
*/
extern void SystemClock_Config(void);
SystemClock_Config();
}
這個時候cubemx目錄里面是沒有SConscript文件的,這是一個腳本文件。
如果RT-Thread Studio版本是2.2.6的話,直接在STM32CubeMX里面什么都不改重新再生成一遍代碼更新軟件包就有了;如果RT-Thread Studio版本是2.2.5的話,重新生成代碼還是沒有的話就把RT-Thread Studio軟件重啟一下就有了;或者也可以自己創(chuàng)建一個。文章來源:http://www.zghlxwxcb.cn/news/detail-665334.html
import os
from building import *
cwd = GetCurrentDir()
src = Glob('*.c')
# add cubemx drivers
src = Split('''
Src/stm32l4xx_hal_msp.c
Src/main.c
''')
path = [cwd]
path += [cwd + '/Inc']
group = DefineGroup('cubemx', src, depend = [''], CPPPATH = path)
Return('group')
如果在調(diào)試的時候外設(shè)寄存器里面是空的,那么就是SVD文件的路徑有問題,打開調(diào)試配置(Ctrl+F5),在SVD Path下選擇正確的路徑。路徑位置在RT-Thread Studio安裝路徑下:RT-ThreadStudio\repo\Extract\Chip_Support_Packages\RealThread\STM32L4\0.1.9\debug\svd。文章來源地址http://www.zghlxwxcb.cn/news/detail-665334.html
到了這里,關(guān)于使用RT-Thread Studio搭配STM32CubeMX新建RT-Thread項目的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!