STM32CubeIDE中使用RT-Thread

一、新建工程

在stm32cubemx中安装rt-thread,然后新建工程,本文参考文档RT-Thread

二、适配 RT-Thread Nano(以NUCLEO-F401RE板为例)

按照官方文档添加好RT-Thread组件并勾选,然后在NVIC中取消相关的中断(详见上方链接:中断与异常处理),到此即可生成工程

需要注意的几个地方

  • SYS中的Timebse Source 尽量不要使用Systick,此处我选择为TIM1
  • 在工程中需要更改的地方
    • 修改启动文件 bl main 改为 bl entry(图片中第97行),更改此处使芯片在进入main之前启动rt-thread
      在这里插入图片描述

    • 修改board.c,初始化时钟等(见下图第69行)

HAL_Init();	
SystemClock_Config();

需在前面添加(第61行)

#include "main.h"
extern void SystemClock_Config(void);

在这里插入图片描述

  • 官方文档中未提到的一个地方,与浮点相关的一个错误(前半部分)
    在这里插入图片描述
  1. 需要更改的地方(此部分更改方法错误,会导致芯片无法运行,请看2.)
    Properties --> C/C++ Build --> Settings --> Tool Settings --> MCU Setting中的Floating-point ABI改为Softwae,该问题在stm32的g0中没有出现,初始化是即为该选项
    在这里插入图片描述
  2. 正确方法如下
    更改Properties --> C/C++ Build --> Settings --> Tool Settings --> MCU GCC Assembler --> Misellaneous 里添加
-Wa,-mimplicit-it=thumb

然后apply and close
在这里插入图片描述

  • 若在配置之前构建过工程,请清理后再次构建,到此,工程构建成功

Simple Example

在main.c中添加头文件

#include <rtthread.h>

在main函数的while循环里添加

	  HAL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin);
	  rt_thread_mdelay(500);

编译下载即可

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值