如何在VScode+PlatformIO中使用STM32CubeIDE的工程?

VScode + PlatformIO

VScode是一款由微软开发的免费、跨平台的源代码编辑器,可用于开发各种编程语言,如Python、C/C++,Verilog HDL等。它提供了丰富的功能和插件,如代码补全、调试、版本控制等,使得开发者能够更加高效地进行编码工作。VScode也是一款非常流行的代码编辑器,广泛用于开发人员的日常工作中。

PlatformIO是一个开源的跨平台物联网开发生态系统,旨在为开发者提供一个统一的平台来编译、调试和上传程序到不同的嵌入式设备上。它支持各种流行的开发板和芯片平台,如Arduino、ESP8266、ESP32、STM32等。PlatformIO提供了一个集成式开发环境,包括IDE和命令行工具,并且具有丰富的功能,如库管理器、调试工具、内存检查、代码分析等,使得嵌入式开发更加容易、高效和可靠。同时,PlatformIO还提供了一个强大的社区支持和文档,以帮助开发者更好地使用它的工具和平台。

安装

无论是Windows(8,10,11),Linux(Debian,Ubuntu,Red Hat,CentOS,Fedora,SUSE),还是Mac (macOS 10.11+),都可以通过下载VScode安装包进行安装。也可通过源进行安装,Linux下通过源的步骤详见这里

安装完成后,以插件形式安装PlatformIO,安装流程详见这里,注意如果安装过程出奇的慢,可能需要科学上网工具。

Ubuntu系统在安装platformIO插件时会遇到报错,预先执行如下命令:

sudo apt-get install python3-venv

STM32CubeIDE

STM32CubeIDE是STMicroelectronics公司提供的一款集成开发环境(IDE),旨在为STM32系列微控制器的开发提供全面的支持。STM32CubeIDE基于Eclipse平台,提供了丰富的功能和工具,如代码编辑器、编译器、调试器、版本控制、模拟器等,支持多种编程语言,如C、C++等。此外,STM32CubeIDE还集成了STMicroelectronics提供的STM32Cube软件包,包括HAL库、LL库、CMSIS等,以及各种板级支持包(BSP),可大大简化STM32开发的过程。STM32CubeIDE具有易用性和高效性,可以帮助开发者快速开发STM32系列微控制器的应用程序。

通过STM32Cube软件,调整单片机时钟频率,开启DMA,加入FreeRTOS支持等等都可以通过动动鼠标完成,完全不用关心底层外设如何初始化的问题,用起来真香。
真香

安装

目前发现在CentOS7.9系统下安装的STM32CubeIDE由于glib版本过低(GLIBC_2.27 not found),无法编译工程,比较遗憾。
Ubuntu20和22都OK。如果是使用WSL+Ubuntu,如果启动工程后只有白色的空界面,还需额外执行:

sudo apt install libwebkit2gtk-4.0-dev

然后将每次启动stm32cubeide之前执行export GDK_BACKEND=x11

VScode + PlatformIO + STM32CubeIDE

但是本人不是太喜欢Eclipse,于是就有一个疑问,如何在VScode + PlatformIO环境下优雅地使用STM32CubeIDE?基本思路是将STM32CubeIDE的工程文件夹放到PlatformIO工程的src文件夹下,然后修改platformio.ini文件,添加对宏定义,头文件路径,link文件的描述即可。具体的描述其实也在STM32CubeIDE的Project->Properties->C/C++ Build/Settings/Tool Settings/All options里体现。这样即使用VScode接手工程开发后,如果还想用添加其他外设,依然可以使用STM32CubeIDE的图形界面进行修改。

具体步骤如下:

  1. 使用PlatformIO创建工程,这里以STM32F103C8T6为例。

    • 在Visual Studio Code中打开PlatformIO IDE。单击“PlatformIO”图标并选择“PIO Home”。
    • 如果还没安装ST的支持包,可以点击Platforms标签页,查找ST STM32并安装。
    • 在PIO Home中,单击“New Project”按钮。在弹出的对话框中,输入项目名称,并选择STM32F103C8。
      这里Framework可选项包括Arduino,CMSIS,STM32Cube,libopencm3。Framework描述详见这里,不过我们并不用PlatformIO自带的任何框架,但是后面用STM32CubeIDE创建工程时需要一个空的src文件夹,故不建议选Arduino和CMSIS(它们会自动生成main.cpp到src文件夹)
      Location项提供工程的父目录
  2. 使用STM32CubeIDE创建工程,工程路径设置为前文的src文件夹。进行必要的配置并保存。

  3. 编辑platformio.ini文件,示例如下:

    [env:genericSTM32F103C8]
    platform = ststm32
    board = genericSTM32F103C8
    
    build_flags = 
        -DUSE_HAL_DRIVER
        -DSTM32F103xB
        -Isrc/Core/Inc
        -Isrc/Drivers/STM32F1xx_HAL_Driver/Inc/Legacy
        -Isrc/Drivers/STM32F1xx_HAL_Driver/Inc
        -Isrc/Drivers/CMSIS/Device/ST/STM32F1xx/Include
        -Isrc/Drivers/CMSIS/Include
        -Isrc/Middlewares/Third_Party/FreeRTOS/Source/include
        -Isrc/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS
        -Isrc/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM3
    
    board_build.ldscript = ./src/STM32F103C8TX_FLASH.ld
    

最后build。

  • 9
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
STM32CubeIDE 使用 RT-Thread,可以按照以下步骤进行: 1. 首先,你需要从 RT-Thread 官网下载 STM32CubeIDE 的插件。插件包含了 RT-Thread 的配置文件和驱动代码,可以让你在 STM32CubeIDE 直接使用 RT-Thread。 2. 下载并安装 STM32CubeIDE,确保你已经安装了合适版本的 STM32CubeMX。 3. 打开 STM32CubeIDE,在 "Help" 菜单下找到 "Eclipse Marketplace"。 4. 在 "Eclipse Marketplace" 搜索 "RT-Thread" 插件,安装它。 5. 安装完成后,重新启动 STM32CubeIDE。 6. 创建一个新的 STM32 项目或者打开一个已有的项目。 7. 在 "Project Explorer" 视图,右击项目名称,选择 "Properties"。 8. 在弹出的对话框,选择 "C/C++ Build" -> "Settings" -> "Tool Settings"。 9. 在 "Tool Settings" ,选择 "MCU GCC Compiler" -> "Preprocessor"。 10. 在 "Defined symbols (-D)" 添加 RT-Thread 的宏定义,例如:`RT_USING_RTTHREAD`,这些宏定义可以在 RT-Thread 的配置文件找到。 11. 在 "Tool Settings" ,选择 "MCU GCC Compiler" -> "Include paths"。 12. 添加 RT-Thread 的头文件路径,这些路径可以在 RT-Thread 的配置文件找到。 13. 在 "Project Explorer" 视图,找到 RT-Thread 的配置文件,通常是 rtconfig.h 或者 rtconfig.py。 14. 根据你的需求,配置 RT-Thread 的内核选项、驱动选项和组件选项。 15. 编写你的应用程序代码,并且按照 RT-Thread 的编程规范来使用 RT-Thread 的 API。 16. 编译、烧录和运行你的应用程序。 以上是在 STM32CubeIDE 使用 RT-Thread 的基本步骤。根据你的具体需求,可能还需要进行一些额外的配置和修改。记得参考 RT-Thread 官方文档和示例代码来帮助你进行开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值