在stm32cubeide上编译rt-thread

本文介绍了如何在STM32CubeIDE中编译RT-Thread操作系统。首先,利用STM32CubeIDE生成stm32f407vg的工程获取编译参数。接着,清除原有代码,导入RT-Thread文件,并删除不必要的 BSP 文件。然后,根据RT-Thread的Keil工程配置include目录,并在编译设置中添加特定预定义和选项。在遇到问题时,参考相关博客解决编译错误。最后,作者提到STM32CubeIDE的优缺点,如Live Expression和直接修改寄存器功能,但调试时每次都需重新下载程序。
摘要由CSDN通过智能技术生成

rt-thread用scons可以直接用arm-none-eabi-编译,调试用gdb命令行界面,还是有点像苦行僧,虽然有gdbgui这样的工具,但没有用过,不太清楚。于是乎在stm32cubeide上尝试将其编译。

1. 用stm32cubeide生成了一个stm32f407vg(stm32f407g-disc1板子),主要是要使用其中的编译参数,而不用自己去摸索。

2. 在stm32cubeide工程中删除生成的代码,将rt-thread的文件复制到对应工程中,将bsp下不需要的文件都删除,只保留对应板子的文件,避免后面编译时一大堆出错

3. rt-thread自带有keil的工程,按keil的工程配置include目录

4. 编译,在项目设置的"MCU GCC Compiler" preprocessor 中增加"RTLIBC_H__"预定义,避免重复定义

在"MCU GCC Assembler" Miscellaneous 中增加Option "-Wa,-mimplicit-it=thumb" 否则在编译context_gcc.S时会报如下错误

../libcpu/arm/cortex-m4/context_gcc.S: Assembler messages:
../libcpu/arm/cortex-m4/context_gcc.S:110: Error: thumb conditional instruction should be in IT block -- `vstmdbeq r1!,{d8-d15}'
../libcpu/arm/cortex-m4/context_gcc.S:119: Error: thumb conditional instruction should be in IT block -- `mov
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值