Toolchain-gccarmnoneeabi for aarch64

I have a pine64 running Armbian and want to set it up as a remote platformio agent. The device I connect to it is an STM32F103 mcu, and I want to program it using the stlink programmer. I guess I need to install the platform for ststm32 on the pine64 to make sure the necessary tools are available. But when I try to pio platform install ststm32, it complains it doesn’t have a toolchain-gccarmnoneeabi for my linux_aarch64 system. I can install the gcc-arm-none-eabi compiler through apt-get. So is there a way to get the ststm32 core running on it for my remote agent?

That shouldn’t be happening since PIO has that package available for Linux-Aarch64.

Can you share your exact error message?


Using platformio 5.0.1 and the ststm32 platform + arduino framework and these versions of the tools:

I think the issue is the dependencies. The ststm32 platform depends on toolchain-gccarmnoneeabi 1.90201.0 while for aarch64 only 1.90301.200702 is available.

No the requirement ~1.90201.0 requirement is a semantic versioning expression meaning >=1.90201.0 <1.90203.0. The first one is the match it needs there.

Why PlatformIO considers the toolchain version I have recently published in order to implement W600 stuff and has a version of 1.40903.0 and is only available for Windows is mysterious to me since its version number is completely out of range… @ivankravets have I remotely broken other peoples Aarch64 build / PIO’s compiler selection logic by publishing this compiler package?

Anyways, you should try and do the following solution:

Does PIO see the preinstalled package now?

It’s already fixed in dev-branch

We are going to release a stable version today.

Please note that we don’t use anymore Service End for Bintray, JCenter, GoCenter, and ChartCenter | JFrog, we keep it for PlatformIO Core 4.0 and will shut down later.

The front-end for the PlatformIO Trusted Registry will be announced later.

What I did instead and works is add this to my platformio.ini environment

platform_packages =
  toolchain-gccarmnoneeabi@~1.90301.0

That made it install 1.90301.0 just fine and everything compiles as well. I am guessing the effect is the same as the manual install you describe @maxgerhardt? Thank for the help on this, and good to know it’s been fixed in dev. I can totally live with a workaround until that makes it to a release.

1 Like

The new STM32 platform was already released 14 hours ago (Release 8.1.0 · platformio/platform-ststm32 · GitHub) so that should be automatically fixed. You can force-check that by removing your ~/.platformio/packages/toolchain-gccarm* folder and doing a pio platform update. The next project compilation should download the right compiler.

bintray is now a redirect to jfrog.com and all the bintray-links in this thread no longer work.

I have a similar problem, trying to set up a toolchain for Wio Terminal on a Raspberry Pi 400 with ElementaryOS 6 and was hoping to find a solution for the

Error: Could not find the package with ‘platformio/toolchain-gccarmnoneeabi @ ~1.70201.0’ requirements for your system ‘linux_aarch64’

… I encounter when the tool manager attempts Installing platformio/toolchain-gccarmnoneeabi @ ~1.70201.0

Per API only toolchain-gccarmnoneeabi-linux_aarch64-1.50401.1.tar.gz (5.4.1) and toolchain-gccarmnoneeabi-linux_aarch64-1.90301.200702.tar.gz (9.3.1) exist, but not the 7.2.1 GCC version.

Please open an issue at Issues · platformio/platform-raspberrypi · GitHub and/or try to use the 9.3.1 toolchain by specifingy

; use GCC 9.3.1 instead of non-available 7.2.1
platform_packages = 
   toolchain-gccarmnoneeabi@~1.90301.0

(per docs) in the platformio.ini.

By the way, the 9.2.1 version of GCC for aarch64 is still missing in the repo: STM32F103RET6_creality - version conflict rg toolchain-gccarmnoneeabi · Issue #605 · platformio/platform-ststm32 · GitHub.
9.2.1 is default for Arduino framework on STM32