问题描述
在ARM架构的Debian12上使用PlatformIO开发STM32遇到如下报错
PIO Core Call Error: "Platform Manager: Installing ststm32\nPlatform Manager: ststm32 @ 10.0.1 has been installed!\nTool Manager: Installing platformio/toolchain-gccarmnoneeabi @ >=1.60301.0,<1.80000.0\n\n\nError: Could not find the package with 'platformio/toolchain-gccarmnoneeabi @ >=1.60301.0,<1.80000.0' requirements for your system 'linux_aarch64'"
问题原因
PlatformIO 默认尝试安装适用于 x86_64 架构的 ARM 工具链(toolchain-gccarmnoneeabi),但在 ARM 架构(如树莓派、ARM 服务器等)的 Debian 12 系统上,该版本没有提供对应的 linux_aarch64 构建。因此会报“找不到适合你系统的包”的错误。
解决方案:
在 platformio.ini 文件中手动指定一个支持 ARM64(aarch64)架构的工具链版本。例如
platform_packages = toolchain-gccarmnoneeabi@~1.90301.0
这个版本(1.90301.0 及附近)官方已为 linux_aarch64 提供了预编译包,可以正常下载和使用。
保存文件后重新编译项目,PlatformIO 就会自动下载并使用兼容的工具链,问题即可解决。