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:
- manually download Service End for Bintray, JCenter, GoCenter, and ChartCenter | JFrog on the machine
- exactract its contents as
~/.platformio/packages/toolchain-gccarmnoneeabi/
(in that folder you should now have thepackage.json
and other folders etc) - retry compilation
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.
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