Atmel AVR: development platform for PlatformIO
This is a fork that adds support for modern C++ versions and the C++ standard library (freestanding implementation). This makes it possible to use C++26 on AVR.
Aside from providing a newer compiler, it makes a few changes to the build flags:
- Replaces
-std=gnu++11
with-std=gnu++26
. - Removes
-fpermissible
to encourage better coding practices. - Adds
-Wno-volatile
because Arduino framework usesvolatile
in a now deprecated way.
- Replaces
-std=gnu11
with-std=gnu23
.
You can re-enable or disable any flags using build_flags
and build_unflags
, as usual.
Atmel AVR 8- and 32-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industrys most code-efficient architecture for C and assembly programming.
Documentation related to the upstream platform (platform-atmelavr
):
- Home (home page in the PlatformIO Registry)
- Documentation (advanced usage, packages, boards, frameworks, etc.)
- Install PlatformIO
- Create PlatformIO project and configure a platform option in platformio.ini file:
[env:stable]
platform = https://github.com/modern-avr/platform.git
board = ...
...
[env:v14.2.0]
platform = https://github.com/modern-avr/platform.git#v14.2.0
board = ...
...
[env:development]
platform = https://github.com/modern-avr/platform.git#develop
board = ...
...
Please navigate to documentation of the upstream platform.