概述RT-thread 是个具有丰富组件的开发系统,相对其它运行在mcu的系统其丰富的组件是其一大优势,而且RT-thread的bsp架构下支持的STM32的开发板数量也很丰富,而且官方也有如何创建STM32 BSP的指导手册(STM32BSP制作)。该教程基本是保姆级别的教程了,按照方法制作即可,不过在STM32C0的板子上使用标准版本的RT-thread,最终只是开启基本的驱动框架核shell发现最后会link error资源不够,看来STM32C0 32k的flash资源跑标准版本的还是中了些,对应的link错误如下: 从编译错误缺少的空间还是比较多的,RT-thread 还有个nano 版本相对对资源要求低很多,既然标准版放不下我们就适配下nano版本。看了下之前其他芯片跑的RT-thread 标准版的最小系统镜像大小为40k。 RT-thread nano版本适配本地使用的环境是IAR,官方对nano版本的适配也有参考文档这样会加快我们的适配过程,对应的教程也算是保姆级别的讲述的很详细,基于 IAR 移植 RT-Thread Nano 按照上述文档很容易就能完成对应的移植适配过程,按照上述文档的移植完的系统是不包含finsh组件的,我们没有办法使用shell,此时检查系统镜像的大小发现小了很多大约为9K 基于上述移植的系统基础上添加shell组件,将如下文件加入工程编译: shell 会依赖物理层的接口我们使用的是串口,修改代码实现如下的串口收发函数。
此时我们上电运行,熟悉的串口终端已经运行起来,熟悉的味道。 添加shell 后镜像为13K,相对增加了4K,在main task内添加周期闪烁led的程序,led 按照预期的闪烁shell也可以正常交互说明系统调度正常。
|
【NUCLEO-C0评测】硬件OLED显示
STM32开发板推荐 | 支持裸跑的米尔STM32MP135开发板,响应硬实时需求
[NUCLEO-C031C6评测] 驱动LCD 第三步 显示颜色块
【STM32C0评测】4、驱动Lorasx126x,实现透传
[NUCLEO-C031C6评测] 驱动LCD 第二步 初始化屏幕
[NUCLEO-C031C6评测] 驱动LCD第一步
【STM32C0评测】3、串口BUG修正,PWM呼吸灯
【STM32C0评测】2、工程建立,点灯,按键,串口使用
【STM32C031 评测】I2C 接口读取KX224传感器数据
【STM32C031评测】挂载液晶显示
嗯嗯 组件很丰富的一个系统,最近一直在学习RT-thread