RT-Thread是一個中國開源嵌入式系統(tǒng),目前版本為2.2,已經(jīng)支持許多微控制器,例如STM32系列,甚至可以在藍牙BLE芯片中運行。盡管微控制器中資源緊張,但是部署一個易用的微操作系統(tǒng)對項目開發(fā)和代碼管理是很有益的。
準(zhǔn)備工具
- STM32開發(fā)版一個,支持USB下載功能
- Ubuntu系統(tǒng)
- USB轉(zhuǎn)串口線
這里我使用了古老的ALIENTEK STM32 MINI V2.0 開發(fā)板,芯片型號為STM32F103RBT6,Ubuntu系統(tǒng)版本為16.04
1.下載交叉編譯工具鏈
- 下載
gcc-arm-none-eabi交叉編譯工具鏈,對于16.04系統(tǒng),直接使用apt install gcc-arm-none-eabi進行安裝
2.下載RT-Thread編譯工具
- 該系統(tǒng)使用scons編譯,對于16.04系統(tǒng),使用
apt install scons進行安裝
3.下載系統(tǒng)源碼
- 下載RT-Thread系統(tǒng),地址為:
https://github.com/RT-Thread - 解壓目錄
4.修改編譯工程
- 進入目錄
bsp/stm32f10x - 編輯文件
rtconfig.py - 修改 CROSS_TOOL 為 gcc
5.針對板子進行配置
-
stm32f10x.h中對晶振進行配置HSE_VALUE,例如800000 -
board.h中對RAM進行配置STM32_SRAM_SIZE,例如20 -
led.c中對 led進行配置
6.編譯源碼
- 在
bsp/stm32f10x目錄下運行scons,輸入rtthread.bin文件
7.燒錄代碼
- 你可以使用Jlink進行下載,須在Jlink官網(wǎng)下載Linux執(zhí)行文件,由于我是debian系統(tǒng),可以直接打開JLink_Linux_V614a_x86_64.deb文件進行安裝。然后在系統(tǒng)文件下lib/目錄下執(zhí)行
JlinkExe文件,即可以通過Jlink進行下載燒錄程序。 - 這里我采用了更為方便的串口燒錄。首先將開發(fā)板的B0接高電平,B1接低電平,然后使用STM32flash-5.0這個軟件進行燒錄。
- 下載地址
https://sourceforge.net/projects/stm32flash/ - 解壓目錄,在該目錄下運行make,得到stm32flash
- 將
rtthread.bin復(fù)制到該目錄下,接入USB轉(zhuǎn)串口線,然后輸入sudo ./stm32flash -w rtthread.bin -v -g 0x0 /dev/ttyUSB0,其中ttyUSB0是串口設(shè)備
- 下載地址
8.檢查是否成功
- 若能看到LED燈閃爍,則成功