在Clion中使用arduino开发STM32单片机

在Clion中使用arduino开发STM32单片机

XuanRan Lv2

Clion + PlatformIO v7+ STM32 Arduino 项目初始化实录

最近在 Windows 上用 CLion 搭 STM32 开发环境的时候遇到一点坑,记录一下过程,顺便给自己和可能遇到同样问题的人一个参考。


背景

我用的是 PlatformIO 6.x 升级到 7+ 后的环境,本地安装的版本是 6.1.8,项目目标是 STM32F103RC,框架选 Arduino。平时 PlatformIO 的命令我用得很顺手,但这次初始化项目时出了点问题。


问题现象

在项目目录下执行:

1
pio project init --board genericSTM32F103RC -O framework=arduino

报错:

1
MissingPackageManifestError: Could not find one of 'package.json' manifest files in the package

乍一看像是环境损坏,我翻了stm32duino的Github主页,明确我使用的STM32F103RC是支持arduino的,但就是报错这个,经过我研究实际上是 PlatformIO v7 对包管理做了大改,很多老命令已经不适用了,下面给出我的修复方案。


删除掉已经安装的芯片支持包

在你的系统用户名下面,有个.platformio的文件夹,具体位置在:

1
C:\Users\<用户名>\.platformio

我将其全部删除了 ,然后使用官方推荐的新的pkg命令看全局已经安装了哪些平台:

1
pio pkg list -g

输出结果显示为空,我们就可以使用新的命令来安装了


新方法:用 pio pkg install 安装平台

PlatformIO v7+ 已经废弃了 pio platform install 命令,官方要求用 pio pkg install 来管理包和平台。安装 STM32 平台的命令如下:

1
pio pkg install -p ststm32 --global

解释一下参数:

  • -p ststm32 → 指定要安装的平台
  • --global → 全局安装,而不是只针对某个项目

运行后,可以看到下载、解压、安装工具链等完整过程:

1
2
3
Platform Manager: Installing ststm32
Tool Manager: Installing platformio/toolchain-gccarmnoneeabi
...

安装完成后再用:

1
pio pkg list -g

确认全局平台和工具链都已经安装好了。


初始化项目

平台安装好后,再回到项目目录初始化 Arduino STM32 项目:

1
pio project init --board=genericSTM32F103RC --project-option="framework=arduino"

这次过程顺利,PlatformIO 自动下载了:

  • toolchain-gccarmnoneeabi
  • framework-cmsis
  • framework-arduinoststm32
  • tool-scons

最后提示:

1
Project has been successfully updated!

至此,一个干净的 STM32 Arduino 项目就初始化完成了。

安装成功


小结

  1. v7+ 的 PlatformIO 已经彻底改了包管理,老的 pio platform install-O 方式可能会报找不到 package.json
  2. 新命令是 pio pkg install,需要明确指定平台、工具或库,并且可以选择全局或项目局部安装。
  3. 初始化 STM32 Arduino 项目时,先确保平台和工具链安装完整,否则会出现 MissingPackageManifestError。

个人建议,如果之前手动删过 .platformio/packages 或者升级过版本,先用 pio system prune --force 清理缓存,再用新命令安装平台。


  • 标题: 在Clion中使用arduino开发STM32单片机
  • 作者: XuanRan
  • 创建于 : 2025-11-07 19:20:00
  • 链接: https://blog.xuanran.cc/2025/11/07/使用ardino开发STM32单片机/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。