RT-Thread Studio联合STM32CubeMX进行开发STM32+RT-Thread(方法一)
本文介绍了在RT-ThreadStudio环境下结合STM32CubeMX开发RT-Thread操作系统的步骤:1.使用RT-ThreadStudio创建基础工程;2.通过STM32CubeMX配置外设并生成MDK-ARM工程;3.修改主程序去除static修饰符并在main.h中声明外设初始化函数;4.实现RT-Thread与HAL库的混合编程,最终在STM32F103C8T6上成功运行,通过串
开发环境:RT-Thread Studio,STM32CubeMX
1.创建工程
使用RT-Thread Studio创建一个新的RT-Thread工程文件,根据你的需求创建工程文件,选择你的工程名和工作区,芯片以及你的调试方式,我这里按照我自己的需求来设置。完成后可以来编译你的工程项目来试试看。此时你创建的工程项目就可以实现串口打印RT-Thread的日志信息了。
2.工程配置
工程创建完毕之后呢,这边我们习惯使用STM32CubeMX-HAL库来编写相关外设驱动的同学,就可以通过STM32CubeMX工具来进行引脚外设配置了。
点击浏览到你的STM32CubeMX的安装文件,选中之后点击确定。就会打开你的STM32CubeMX。到此就可以按照裸机开发STM32的方法来进行开发了,后续配置,我这里不再进行赘述。工程管理这里输出为MKD-ARM。后续我会出相关的教程,大家也可以上网自行搜索。
注意!!!输出这里选这些。生成工程完毕后,关闭STM32CubeMX。RT-Thread Studio出现提示信息,点击确定。

3.程序编写和修改
主程序文件
#include <rtthread.h>
#include "main.h"
#define DBG_TAG "main"
#define DBG_LVL DBG_LOG
#include <rtdbg.h>
int main(void)
{
int count = 1;
MX_GPIO_Init();
MX_USART1_UART_Init();
while (count++)
{
LOG_D("Hello RT-Thread!");
rt_thread_mdelay(1000);
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET);
rt_thread_mdelay(500);
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET);
rt_thread_mdelay(500);
}
return RT_EOK;
}
在workspace\tempalte01\cubemx\Src\main.c中修改外设的初始化函数,将static修饰符去掉,将初始化函数声明移到main.h中至此全部工作完成,编译后没有问题。
#ifndef __MAIN_H
#define __MAIN_H
#ifdef __cplusplus
extern "C" {
#endif
/* Includes ------------------------------------------------------------------*/
#include "stm32f1xx_hal.h"
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
/* USER CODE END Includes */
/* Exported types ------------------------------------------------------------*/
/* USER CODE BEGIN ET */
/* USER CODE END ET */
/* Exported constants --------------------------------------------------------*/
/* USER CODE BEGIN EC */
/* USER CODE END EC */
/* Exported macro ------------------------------------------------------------*/
/* USER CODE BEGIN EM */
/* USER CODE END EM */
/* Exported functions prototypes ---------------------------------------------*/
void Error_Handler(void);
void MX_GPIO_Init(void);
void MX_USART1_UART_Init(void);
/* USER CODE BEGIN EFP */
/* USER CODE END EFP */
/* Private defines -----------------------------------------------------------*/
/* USER CODE BEGIN Private defines */
/* USER CODE END Private defines */
#ifdef __cplusplus
}
#endif
4.最终运行结果
RT-Thread操作系统成功运行在STM32F103C8T6中,可使用RT-Thread内部函数和HAL库函数联合开发。运行结果如下:同时可以看到发现PC13引脚电平发生反转。
更多推荐
所有评论(0)