I am currently porting FreeRTOSv10 to an Adafruit Feather M0 (ATSAMD21G18, Cortex-M0+). I have noticed that some assembly (
asm(..)) won’t compile out-of-the box if “.syntax unified” is used and error messages for assembly code change when one changes optimization flags. Anyway, that’s not the point of this topic. I now want to eliminate the possibility that this is the compiler’s fault.
I am on platformio 3.5.0rc8 and using the Atmel SAM platform. Doing a
pio update gives:
Platform Manager ================ Platform Atmel SAM -------- Updating atmelsam @ 2.7.1 [Up-to-date] Updating framework-arduinosam @ 2.10616.1 [Up-to-date] Updating toolchain-gccarmnoneeabi @ 1.40804.0 [Up-to-date] Updating tool-bossac @ 1.10700.0 [Up-to-date]
The compiler version in the
gcc version 4.8.4 20140725, more than 3 years old.
Platformio won’t update that package, although I can see on (Service End for Bintray, JCenter, GoCenter, and ChartCenter | JFrog) that version 1.50401.0 was released 4 months ago. I can manually download the package for x86/x64 linux (Service End for Bintray, JCenter, GoCenter, and ChartCenter | JFrog), delete the contents of my
~/.platformio/packages/toolchain-gccarmnoneeabi folder, extract the new one and manually execute the gcc binary there (returns
5.4.1 20160919 (release)).
However, once these files are overwritten, and I execute a
pio run, it reverts me back to the old version!
$ pio run PackageManager: Installing toolchain-gccarmnoneeabi @ >=1.40803.0,<1.40805.0 Downloading... Unpacking...
What am I doing wrong here? How can I (manually, if I have to) update my compiler suite without pio reverting me back?