STM32
直播中

席毖庸

7年用户 1004经验值
擅长:596874
私信 关注
[问答]

怎样去搭建一种基于RT-Thread实时操作系统的STM32开发环境?

怎样去搭建一种基于RT-Thread实时操作系统的STM32开发环境?
怎样去搭建一种IWDT独立看门狗的环境?
如何去编写IWDT独立看门狗的程序?

回帖(2)

卓侨汉

2021-7-27 11:12:48
  一、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生成代码时,程序将会被覆盖。
  下面就是实验结果
  
举报

谷雪阳

2021-7-27 11:15:17
  一、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生成代码时,程序将会被覆盖。
  下面就是实验结果
  
举报

更多回帖

发帖
×
20
完善资料,
赚取积分