1. CubeMX上下载RT-Thread的软件包
要获取 RT-Thread Nano 软件包,需要在 CubeMX 中添加 https://www.rt-thread.org/download/cube/RealThread.RT-Thread.pdsc
2. 在CubeMX中完成基础工程创建后,添加RT-Thread Nano 到工程
3.在CubeMX中配置NANO
4. 取消(注释)掉默认生成的工程中,由RT-Thread接管的部分。包括:
1.RT-Thread 操作系统重定义的 HardFault_Handler、PendSV_Handler、SysTick_Handler 中断函数。此过程可以在CubeMX的NVIC中选择不生成相关代码。
2.启动过程中已经由RT-Thread操作系统完成的初始化,HAL_Init() 初始化 HAL 库, SystemClock_Config()配置了系统时钟。
5.编写用户程序。
记住在main.c中添加包含 RT-Thread 的相关头文件 <rtthread.h>
6.如需使用RT-thread的串口打印功能
1.在components.c文件中的rt_hw_board_init();中,或者main()的顺序体中完成硬件外设(包含usart内)的初始化。
2.添加如下代码,重定位rt_hw_console_output后,即可使用 rt_kprintf() 打印。
void rt_hw_console_output(const char *str)
{
rt_enter_critical();
rt_size_t i = 0, size = 0;
char a = '\r';
size = rt_strlen(str);
for (i = 0; i < size; i++)
{
if (*(str + i) == '\n')
{
HAL_UART_Transmit(&huart1 , (uint8_t *)&a, 1 , 1);
}
HAL_UART_Transmit(&huart1, (uint8_t *)(str + i), 1, 1);
}
rt_exit_critical();
}