RT-Thread Nano软件包地址:https://www.rt-thread.org/download/cube/RealThread.RT-Thread.pdsc
打开CubeMX
,选择Help
下的Manage embedded software packages
:
选择From Url...
:
点击New
,并添加上述的Nano
软件包地址https://www.rt-thread.org/download/cube/RealThread.RT-Thread.pdsc
:
勾选并OK
后,成功:
同时,安装RT-Thread
:
同意:
安装成功:
RCC
配置:
SYS
设置:
时钟树设置:
选择组件:
选择RT-Thread
组件,OK:
将选择的模块进行勾选:
NVIC
配置:
生成代码:
添加新文件:
添加.c
文件:
app_rt_thread.c
:
#include "rtthread.h" #include "main.h" #include "stdio.h" struct rt_thread led1_thread; rt_uint8_t rt_led1_thread_stack[128]; void led1_task_entry(void *parameter); //初始化线程函数 void MX_RT_Thread_Init(void) { //初始化LED1线程 rt_thread_init(&led1_thread,"led1",led1_task_entry,RT_NULL,&rt_led1_thread_stack[0],sizeof(rt_led1_thread_stack),3,20); //开启线程调度 rt_thread_startup(&led1_thread); } //主任务 void MX_RT_Thread_Process(void) { printf("Hello RT_Thread!!!"); rt_thread_delay(2000); } //LED1任务 void led1_task_entry(void *parameter) { while(1) { HAL_GPIO_WritePin(GPIOA,GPIO_PIN_3, GPIO_PIN_RESET); rt_thread_delay(500); HAL_GPIO_WritePin(GPIOA,GPIO_PIN_3, GPIO_PIN_SET); rt_thread_delay(500); } }
修改board.c
的77行:
将rtconfig.h
的145行取消注释:
在main.c
中添加代码:
extern void MX_RT_Thread_Init(void); extern void MX_RT_Thread_Process(void);
在while
循环中添加以下代码:
HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_4); rt_thread_delay(1000);
STM32的RT-Thread-Nano移植
基于 STM32CubeMX 添加 RT-Thread 操作系统组件(一)- 详细介绍操作步骤