一、STM32cubeMX创建项目
STM32使用的是nucleostm32f411re官方的开发板
下面是RT-Thread官网下的教程,帮你更方便的创建基于RT-Thread实时操作系统的STM32开发环境。
RT-Thread帮助文档
二、FinSH组件的移植
使用Finsh组件三步骤:1.实现该函数及rt_hw_console_output函数;2.rtconfig.h中开启RT_USING_FINSH宏;3.添加Finsh组件(cmd.c、msh.c、shell.c)
FinSH组件的文档
在board.c文件中的void rt_hw_board_init()函数中添加串口初始化代码,stm32f411re中使用的是默认的串口2。

并在该文件的最下方添加 void rt_hw_console_output(const char *str)和char rt_hw_console_getchar(void)

然后就可以愉快的在窗口助手下面使用FinSH组件了。

IWDT独立看门狗的环境搭建
在上面创建的环境下需要自己在Drivers文件下添加stm32f4xx_hal_iwdg.c 然后找到stm32f4xx_hal_conf.h开启#define HAL_IWDG_MODULE_ENABLED 因为在一开始用cubeMX创建项目是并没有开启IWDG,当然也可以直接使用cubeMX开启IWDG
再者还需要打开rtconf.h文件里开启#define RT_USING_HEAP

这样为了给线程分配堆空间
IWDT独立看门狗的程序编写
在创建的.c文件中编写以下程序

在main.c中添加以下代码

用cubeMX生成的代码有放在其指定的位置里面,不然当重新用cubeMX生成代码时,程序将会被覆盖。
下面就是实验结果

一、STM32cubeMX创建项目
STM32使用的是nucleostm32f411re官方的开发板
下面是RT-Thread官网下的教程,帮你更方便的创建基于RT-Thread实时操作系统的STM32开发环境。
RT-Thread帮助文档
二、FinSH组件的移植
使用Finsh组件三步骤:1.实现该函数及rt_hw_console_output函数;2.rtconfig.h中开启RT_USING_FINSH宏;3.添加Finsh组件(cmd.c、msh.c、shell.c)
FinSH组件的文档
在board.c文件中的void rt_hw_board_init()函数中添加串口初始化代码,stm32f411re中使用的是默认的串口2。

并在该文件的最下方添加 void rt_hw_console_output(const char *str)和char rt_hw_console_getchar(void)

然后就可以愉快的在窗口助手下面使用FinSH组件了。

IWDT独立看门狗的环境搭建
在上面创建的环境下需要自己在Drivers文件下添加stm32f4xx_hal_iwdg.c 然后找到stm32f4xx_hal_conf.h开启#define HAL_IWDG_MODULE_ENABLED 因为在一开始用cubeMX创建项目是并没有开启IWDG,当然也可以直接使用cubeMX开启IWDG
再者还需要打开rtconf.h文件里开启#define RT_USING_HEAP

这样为了给线程分配堆空间
IWDT独立看门狗的程序编写
在创建的.c文件中编写以下程序

在main.c中添加以下代码

用cubeMX生成的代码有放在其指定的位置里面,不然当重新用cubeMX生成代码时,程序将会被覆盖。
下面就是实验结果

举报