As a workaround you can always ovewrite the existing files in C:\Users\<user>\.platformio\packages\toolchain-gccarmnoneeabi (without the package.json) or download the toolchain, add the package.json from the old toolchain-gccarmnoneeabi package it with updated version field, pack that and refer to it using platform_packages.
@maxgerhardt What is the official release process for toolchains? Is this community-driven? Given that this is a pretty major toolchain, I would hope that its release is prioritized. Would be happy to contribute if it’s community-driven.
Hi @mattk! At the moment all PlatformIO dev-platform use GCC v9.3.1 and there is no official plans to switch the platforms to the latest GCC. Besides ARM doesn’t provide a toolchain package for 32bit ARM systems. As @maxgerhardt rightly pointed out, you can always replace your toolchain locally.
Totally understand. Will explore options. The whole benefit of PlatformIO is its turnkey nature, so I’m hesitant to require our devs to do too much manual modification.
I’m confused by what you mean re: 32-bit support. Could you elaborate @valeros? From the ARM website:
The GNU Arm Embedded Toolchain targets the 32-bit Arm Cortex-A, Arm Cortex-M, and Arm Cortex-R processor families.
Exactly, targets, the compiler will produce binaries for these ARM32 targets (or ARMv7 A/M/R precisely) but the compiler does not run on ARM32 has a host system, just runs on Win32/x86_64 Linux / Mac / aarch64. If we’d e.g. wanted it to run on a Raspberry Pi with a 32-bit OS, then there’s no download for that, and we’d have to self-compile.
I don’t understand why this would stop us having a package available for Windows. When I create the package for myself, it is a pain to distribute it to all development PCs involved at all devs in the team.
I don’t think the majority of the users would want ARM32 as host.
But I do think many are interested in using the newest available compiler.
As a workaround, I would suggest to name the package differently, E.G. toolchain-gccarmnoneeabi-ahead.
With pio account login you can log into your PlatformIO account from the commandline and with pio package publish you can submit it for publication. Then people will be able to access your toolchain package by using platform_packages directives in the platformio.ini such as
Thanks, @mattk, I will try this when I get to it, but currently I am quite busy with other things. I don’t know yet whether I need help with this.
As far as I understand, Ivan and Max don’t want to make this centrally, because the new compiler would raise issues with existing libraries, and for the library maintainers it is easier to manage having almost the same compiler version on all platforms. So we have to do it in our user space, without affecting others.
I’d like to argue against the stance in GNU Arm Embedded Toolchain Version 10-2020-q4-major - #4 by valeros – it’s reasonable for the team to not want to bump the versions on the platforms, but it’s possible to make a wide variety of GCC versions available without much manual work and without changing the version various platforms depend on.
Also, I’d like to publish GCC 11, but the size quota makes it impossible:
-rw-r--r-- 1 user user 771M Mar 25 21:42 toolchain-gccarmnoneeabi-darwin_x86_64-1.110201.220215.tar.gz
-rw-r--r-- 1 user user 821M Mar 25 21:42 toolchain-gccarmnoneeabi-linux_aarch64-1.110201.220215.tar.gz
-rw-r--r-- 1 user user 822M Mar 25 21:42 toolchain-gccarmnoneeabi-linux_x86_64-1.110201.220215.tar.gz
-rw-r--r-- 1 user user 1019M Mar 25 21:44 toolchain-gccarmnoneeabi-windows_amd64-1.110201.220215.tar.gz