RT-Thread是一个中国开源嵌入式系统,目前版本为2.2,已经支持许多微控制器,例如STM32系列,甚至可以在蓝牙BLE芯片中运行。尽管微控制器中资源紧张,但是部署一个易用的微操作系统对项目开发和代码管理是很有益的。
准备工具
- STM32开发版一个,支持USB下载功能
- Ubuntu系统
- USB转串口线
这里我使用了古老的ALIENTEK STM32 MINI V2.0
开发板,芯片型号为STM32F103RBT6
,Ubuntu系统版本为16.04
1.下载交叉编译工具链
- 下载
gcc-arm-none-eabi
交叉编译工具链,对于16.04系统,直接使用apt install gcc-arm-none-eabi
进行安装
2.下载RT-Thread编译工具
- 该系统使用scons编译,对于16.04系统,使用
apt install scons
进行安装
3.下载系统源码
- 下载RT-Thread系统,地址为:
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官网下载Linux执行文件,由于我是debian系统,可以直接打开JLink_Linux_V614a_x86_64.deb文件进行安装。然后在系统文件下lib/目录下执行
JlinkExe
文件,即可以通过Jlink进行下载烧录程序。 - 这里我采用了更为方便的串口烧录。首先将开发板的B0接高电平,B1接低电平,然后使用STM32flash-5.0这个软件进行烧录。
- 下载地址
https://sourceforge.net/projects/stm32flash/
- 解压目录,在该目录下运行make,得到stm32flash
- 将
rtthread.bin
复制到该目录下,接入USB转串口线,然后输入sudo ./stm32flash -w rtthread.bin -v -g 0x0 /dev/ttyUSB0
,其中ttyUSB0
是串口设备
- 下载地址
8.检查是否成功
- 若能看到LED灯闪烁,则成功