Lazy loaded image
嵌入式软件开发
📘CubeMX的RT-Thread配置笔记
字数 695阅读时长 2 分钟
2025-4-1
2025-11-13
😀
STM32 F1系列芯片 CubeMX软件配置RTT 软件包记录

RT-Thread的F1配置第一个Uart工程

新建STM32F103C8T6工程

  1. 这里是选择STM32F103C8T6

(仅第一次需要)下载RT-Thread嵌入式软件包

  1. 按下ALT+U,打开嵌入式软件包管理器(Help中可见)
  1. 点击From Urls
  1. 点击New
  1. 键入 https://www.rt-thread.org/download/cube/RealThread.RT-Thread.pdsc
  1. 点击Check 检查,然后点击下载
  1. 配置RT-Thread
      • 在中间件和软件包中选择RT-Thread,仅勾选kernel内核,例如shell等不需要勾选
      • 如果看不到RT-Thread,可以尝试重新创建项目,然后就可以看到RT-Thread了,这时选择install安装,然后仅勾选kernel内核,例如shell等不需要勾选

使能和配置RT-Thread

  1. 在中间件和软件包中选择RT-Thread,勾选RTOS RT-Thread
  1. 在下方配置列表中找到IPC Configuartion,使能(所有)下列功能,其他默认即可
      • Using Semaphore 信号量
      • Using Mutex 互斥锁
      • Using Event 事件
      • Using MailBox 邮箱
      • Using Message Queue 消息队列
      • Using dynamic Heap Management 动态内存管理
  1. 在下方配置列表中找到Console Configuartion,取消使能 using console。
    1. 因为是能这个选项,会开启USART2串口。可能会导致冲突等。

输出与配置

配置 SYS

  1. 配置时基源
      • 勾选TIM2为系统时钟,因为在RT-Thread中是 默认使用Systick的,所以我们在选择系统时钟时,选择TIM2
  1. 配置Debug
      • 选择Serial Wire,这样,就会自动打开ST-Link 、J-Link SW 口的下载。

配置 RCC

配置高速晶振 High为 陶瓷晶振Crystal/Ceramic Resonator

配置 Connectivity

  1. 选择串口1, 配置为Asynchronous 异步通信
  1. 在参数设置Parameter Settings 中 设置波特率为9600
  1. 在NVIC settings中,使能UART1的全局中断
  1. 其余为默认

时钟配置

  1. 将梯形选择器勾选为从HSE 到 HCLK
  1. 将HCLK设置为72MHZ,回车后系统自动设置其余参数

项目配置

Project

  1. 项目名称
  1. 项目地址
  1. 选择IDE为 MDK-ARM

Code Generator

  1. 勾选Copy only the necessary library files
      • 只复制必要的文件
  1. 勾选Generate peripheral initialization as a pair of'c/.h' fles per periphera
      • 为每个外设生成一个.c .h 的文件来初始化外设

生成代码前设置,防止编译错误

如果遇到错误:Error: L6200E: Symbol HardFault_Handler multiply defined (by context_rvds.o and stm32f1xx_it.o).
  • 意思就是这俩有重定义了。
解决方法:
  1. 直接去stm32f1xx_it.c里把HardFault_Handler 函数注释掉就可以了。
  1. 去CubeMX找到NVIC配置 点击code generation,取消勾选 错误中断Hand fault Interrupt,然后重新生成。
💡
有关RTT其他学习或者使用上的问题,欢迎您在底部评论区留言,一起交流~
 
上一篇
配置ESP32开发环境
下一篇
Python学习

评论
Loading...