CubeMX 生成RTThread v3.1.3工程 Makefile环境搭建

本文介绍了如何使用CubeMX创建一个基于RTThread Nano的STM32裸机工程,并在VsCode中搭建GCC编译环境。步骤包括安装所需工具、配置CubeMX工程、禁用特定中断、设置浮动ABI、修改汇编文件后缀、调整Makefile以及初始化RTThread滴答定时器。最后,文章展示了如何在main函数中简单应用。
摘要由CSDN通过智能技术生成

准备工具

  • CubeMX(需要java环境)
  • Vscode(在里面安装LoTlink插件,也就是华为的lietos插件)
  • Jlink(版本新一点比较好)

建立CubeMX工程

新建一个裸机工程
在这里插入图片描述
点击这个选项,如果没有安装RTThread软件包,先点击Manage那个安装,
具体怎么安装看这个RTThread官方文档链接
在这里插入图片描述
选择RTThread软件包,两个选项,一个内核,一个shell,只勾选内核,就是Nano版本。
在这里插入图片描述
然后配置其他工程选项
首先是接管NVIC中断
去掉这三个中断处理函数
在这里插入图片描述
接着常规配置其他的选项
注意:如果选用了shell,就要开启一个串口,具体实现可以看官方给的文档

最后生成cubeMX工程
在这里插入图片描述

VsCode搭建工程环境

先点击左下角的home(没有就去安装LoT link插件)
选择导入GCC工程
在这里插入图片描述
在这里插入图片描述
选择CubeMX生成的工程根目录
导入Makefile文件
选择硬件型号(也可以进入工程以后再更改)
在这里插入图片描述
修改这个汇编文件的后缀,把S改成s(我已经修改好了)
(因为 .S 和 .s 的含义不一样,具体原因自己百度)
在这里插入图片描述

紧接着配置Makefile文件
添加这个汇编文件到编译命令当中

# ASM sources
ASM_SOURCES =  \
startup_stm32f411xe.s \
Middlewares/Third_Party/RealThread_RTOS_RT-Thread/libcpu/arm/cortex-m4/context_gcc.s

在这里插入图片描述
再配置这个部分

# float-abi
#FLOAT-ABI = -mfloat-abi=hard
FLOAT-ABI = -mfloat-abi=soft

在这里插入图片描述
剩下的事情就很简单了
为Rtthread初始化滴答定时器,直接调用这两个函数:
void HAL_Init(void);
void SystemClock_Config(void);

void HAL_Init(void);
void SystemClock_Config(void);
/**
 * This function will initial your board.
 */
void rt_hw_board_init()
{
    HAL_Init();
    SystemClock_Config();
    /* System Clock Update */
    SystemCoreClockUpdate();
    
    /* System Tick Configuration */
    _SysTick_Config(SystemCoreClock / RT_TICK_PER_SECOND);

    /* Call components board initial (use INIT_BOARD_EXPORT()) */
#ifdef RT_USING_COMPONENTS_INIT
    rt_components_board_init();
#endif

#if defined(RT_USING_USER_MAIN) && defined(RT_USING_HEAP)
    rt_system_heap_init(rt_heap_begin_get(), rt_heap_end_get());
#endif
}

在这里插入图片描述

修改启动文件
因为是GCC环境下,所以要这样配置:
在这里插入图片描述

紧接着到main里面,把系统时钟初始化去掉,随便写个电灯,就可以了。

在这里插入图片描述

这样一个工程就配置好啦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值