如何用vscode环境开发stm32的rtthread程序

用什么方式开发rtthread工程比较好啊,我想使用 VS Code 编写代码,用Makefile 和 arm-gcc 编译工具链编译程序。最好要有一个清晰的工程结构

参考下:https://blog.csdn.net/zhiyuan2021/article/details/124630072

  • 这篇文章:使用vscode开发stm32记录 也许能够解决你的问题,你可以看下
  • 除此之外, 这篇博客: 使用vscode + gcc进行 STM32 单片机开发(二)gcc环境 移植rtthread中的 第二步:把rtthread源码添加到makefile进行编译 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 这一步可能需要一些makefile的基础知识,请自行百度,这里不再累述。

    makefile中 加上如下几行:

    
    #添加 rtthread *.c,*.s 源文件
    RT_THREAD_SOURCES += \
    $(wildcard rtthread-nano-master/rt-thread/src/*.c) \
    $(wildcard rtthread-nano-master/rt-thread/libcpu/arm/cortex-m7/*.c) \
    rtthread-nano-master/rt-thread/bsp/board.c
    
    RT_THREAD_ASM = \
    rtthread-nano-master/rt-thread/libcpu/arm/cortex-m7/context_gcc.S
    
    OBJECTS += $(addprefix $(BUILD_DIR)/,$(notdir $(RT_THREAD_SOURCES:.c=.o)))
    vpath %.s $(sort $(dir $(RT_THREAD_SOURCES)))
    OBJECTS += $(addprefix $(BUILD_DIR)/,$(notdir $(RT_THREAD_ASM:.S=.o)))
    vpath %.s $(sort $(dir $(RT_THREAD_ASM)))
    
    #添加 *.h 头文件
    C_INCLUDES += \
    -Irtthread-nano-master/rt-thread/include \
    -Irtthread-nano-master/rt-thread/bsp
    
    #增加编译参数,否则编译不通过,详情见:https://github.com/RT-Thread/rt-thread/pull/5345
    CFLAGS += -Wa,-mimplicit-it=thumb
    
    

    添加完成后,输入命令make -j8,此时应该还不能通过编译,需要再进行代码级别的增删移植。




  1. 安装VSCode和STM32CubeMX软件;
  2. 在STM32CubeMX中生成工程代码,并选择使用RT-Thread操作系统;
  3. 在VSCode中安装C/C++插件和OpenOCD插件;
  4. 在VSCode中打开生成的工程代码,并配置launch.json文件;
  5. 在VSCode中编写和调试代码,使用OpenOCD插件烧录程序到STM32芯片中。