(1)RT Thread利用STM32CUBEMX来创建模板工程
1、参考文档:
基于 CubeMX 移植 RT-Thread Nano:RT-Thread 文档中心
注意:串口2必须使能异步模式(启用shell) //Connectivity—USART2—Mode—Asyn
否则会出现串口变量引用异常报错
2、打开rtconfig.h //#include "finsh_config.h" 要使用shell,必须打开
3、若开启shell,希望将默认串口2变更为其它串口,如串口1,则将usart.c中的
HAL_UART_MspInit进行更改,变成串口1相关;HAL_UART_MspDeInit也进行变更
4、删除原有MX_USART2_UART_Init相关,尤其是main.c中对串口2的初始化,还有删除main线程中的HAL_Init();SystemClock_Config();//因board.c中rt_hw_board_init()已经初始化过了
5、main线程中新增#include “rtthread.h” rt_thread_mdelay(10); //因main线程优先级高,要有释放
生成代码大小:
6、需要在SysTick_Handler()函数中新增HAL_IncTick();
void SysTick_Handler(void)
{
rt_interrupt_enter();
HAL_IncTick(); //兼容HAL库延时函数HAL_Delay()使用
rt_tick_increase();
rt_interrupt_leave();
}
(2)RT Thread Studio创建模板工程
1、参考文档:
特别说明:注:可以通过修改 drv_clk.c 的 SystemClock_Config()
更改系统时钟,
可用基于STM32CUBEMX来创建时钟树,再复制代码过来
2、配置外部时钟
参考文档:
RT-Thread Studio使用——创建工程并配置外部时钟_rtthread studio更改时钟_ZuSuKuang的博客-CSDN博客
生成代码大小:
特别说明:STM32CUBEMX生成的代码及RAM比RT THREAD STUdio生成的要小一些。