Trying PIO on aarch64

I’m trying to use PlatformIO on an Odroid C2, which is 64-bit ARM. It’s a really snappy setup (4 cores, 2 GB RAM), especially with eMMC as root storage.

The installed toolchain for arm-gcc-embedded appears to be 32-bit. This page helped make them work anyway:

But I’m using some C++11 constructs in my code, which don’t get recognised. Adding build_flags = -std=c++11 got rid of most of the errors. Unfortunately, the compiler appears to be somewhat outdated, and doesn’t accept some construct (using __VA_ARGS__ in a macro), or at least not as it works on x86-64.

The version of gcc I see inside ~/.platformio/packages/toolchain-gccarmnoneeabi/bin/ is:

gcc version 4.8.3 20140228 (release) [ARM/embedded-4_8-branch revision 208322] (GNU Tools for ARM Embedded Processors)

Is there a way to update PIO’s toolchain to a newer version or Is this a mixup on my end, somewhere?

Does PIO already support aarch64 at the moment, or am I being too optimistic / impatient / eager?


To follow up - this is only partly an aarch64 issue. When I install PlatformIO on a Raspberry Pi Zero W (also running the DietPi distro), I see the same issue. So the 64-bit aspect of this puzzle has been resolved via the Armbian tip.

I should probably rename this topic. The issue is now that PIO-on-RasPi appears to have a fairly old version (4.8.3) of gcc-arm-embedded.


What is your platformio.ini? We have different GCC ARM toolchains for ARMv6l. See Service End for Bintray, JCenter, GoCenter, and ChartCenter | JFrog

It seems that some dev/platform depends on the old version of toolchain.