Support for megaAVR 0 series

When can we expect support for the megaAVR 0 series? There are more and more boards with an ATMega4809 which are not supported and needs a new core:

1 Like

Is there something you’re interested in?
(I dont work with any of your list)

1 Like

No, there is a new core for Arduino needed (like the one for the original Arduino IDE), because this are new micro controllers and they work a little bit different like the classic AVRs.

1 Like

I forgot, meanwhile there is an 40-pin DIP Version of the ATtmega4809 family and
new ATtiny 1607 and 3217 family.

Any news about? Will a support come? And when?

Please ping me with Support for megaAVR 0-Series, Arduino Uno WiFi Rev2 · Issue #1 · platformio/platform-atmelmegaavr · GitHub after PIO Core 4.0. Thanks!

Any news about? Nothing happens since November last year.

Oh, sorry for the delay :frowning: A lot of unresolved issues internally :frowning: We dream about a time when chip vendors will personally maintain own dev/platforms.

1 Like

Hope you can still add the support.:grin: I don’t think the vendors want to develop their own Arduino development platforms, they want to sell their chips.:confused:

1 Like

I’m in the same situation. Just bought a few Nano Every boards and can’t program them with PlatformIO. I hope you manage to add support soon. No pressure though… I can wait a few more days :kissing_smiling_eyes::open_hands:

1 Like

@sstaub It’s unfortunate they don’t realise that if they offered the chip AND ready to go development toolchain that they’d probably sell more… path of least resistance and all that jazz.

and @Hendrickx… only a few days? :laughing: I’m sure it will happen SomedaySoon™, especially as there is a board support package for it for the Arduino IDE.

1 Like

The package for Arduino exist since last year, for Arduino WIFI 2 based on megaAVR-0.
SomedaySoon™ is the future trade mark for all microcontroller stuff. :grin:

1 Like

So close to figuring this out… I made an extenion of the platform-atmelavr platform because it basically provides all the needed code infrastructure, got an updated compiler and updated avrdude, the 1.8.4 core release for megaavr and the Nano Every board definition. Code will compile and upload but not run, so either the compiled firmware is wrong, a fuse is wrong or the chip is held in bootloader mode. I’ll figure it out soon.

[env:nanoevery]
platform = https://github.com/maxgerhardt/platform-atmelavr
board = nanoevery
framework = arduino
platform_packages =
  framework-arduinoavr @ https://github.com/maxgerhardt/platformio-pkg-framework-arduinoavr.git
  toolchain-atmelavr @ 1.70300.0 ; updated 7.3.0 compiler
build_unflags = -DARDUINO_ARCH_AVR
build_flags = -DARDUINO_ARCH_MEGAAVR
upload_flags =
        -e
        -Ufuse2:w:0x01:m
        -Ufuse5:w:0xC9:m
        -Ufuse8:w:0x00:m:
pio run -t upload
Processing nanoevery (platform: https://github.com/maxgerhardt/platform-atmelavr; board: nanoevery; framework: arduino)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Mkdir("C:\Users\Maxi\Desktop\every_test\test_proj\.pio\build\nanoevery")
CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/nanoevery.html
PLATFORM: Atmel AVR 1.15.0 #237881c (git+https://github.com/maxgerhardt/platform-atmelavr) > Arduino Nano Every
HARDWARE: ATMEGA4809 16MHz, 6KB RAM, 48KB Flash
PACKAGES: toolchain-atmelavr 1.70300.0 (7.3.0), framework-arduinoavr 7b26a79 (git+https://github.com/maxgerhardt/platformio-pkg-framework-arduinoavr.git), tool-avrdude 1.60300.190424 (6.3.0)
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 5 compatible libraries
Scanning dependencies...
No dependencies
avr-g++ -o .pio\build\nanoevery\src\main.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -Os -Wall -ffunction-sections -fdata-sections -flto -mmcu=atmega4809 -DPLATFORMIO=40100 -DARDUINO_AVR_NANO_EVERY -DMILLIS_USE_TIMERB3 -DNO_EXTERNAL_I2C_PULLUP -DAVR_NANO_4809_328MODE -DARDUINO_ARCH_MEGAAVR -DF_CPU=16000000L -DARDUINO=10805 -Iinclude -Isrc -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\variants\nona4809 src\main.cpp
avr-gcc -o .pio\build\nanoevery\FrameworkArduinoVariant\variant.c.o -c -std=gnu11 -fno-fat-lto-objects -Os -Wall -ffunction-sections -fdata-sections -flto -mmcu=atmega4809 -DPLATFORMIO=40100 -DARDUINO_AVR_NANO_EVERY -DMILLIS_USE_TIMERB3 -DNO_EXTERNAL_I2C_PULLUP -DAVR_NANO_4809_328MODE -DARDUINO_ARCH_MEGAAVR -DF_CPU=16000000L -DARDUINO=10805 -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\variants\nona4809 C:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\variants\nona4809\variant.c
avr-g++ -o .pio\build\nanoevery\FrameworkArduino\CDC.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -Os -Wall -ffunction-sections -fdata-sections -flto -mmcu=atmega4809 -DPLATFORMIO=40100 -DARDUINO_AVR_NANO_EVERY -DMILLIS_USE_TIMERB3 -DNO_EXTERNAL_I2C_PULLUP -DAVR_NANO_4809_328MODE -DARDUINO_ARCH_MEGAAVR -DF_CPU=16000000L -DARDUINO=10805 -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\variants\nona4809 C:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr\CDC.cpp
avr-g++ -o .pio\build\nanoevery\FrameworkArduino\NANO_Compat.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -Os -Wall -ffunction-sections -fdata-sections -flto -mmcu=atmega4809 -DPLATFORMIO=40100 -DARDUINO_AVR_NANO_EVERY -DMILLIS_USE_TIMERB3 -DNO_EXTERNAL_I2C_PULLUP -DAVR_NANO_4809_328MODE -DARDUINO_ARCH_MEGAAVR -DF_CPU=16000000L -DARDUINO=10805 -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\variants\nona4809 C:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr\NANO_Compat.cpp
avr-g++ -o .pio\build\nanoevery\FrameworkArduino\Tone.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -Os -Wall -ffunction-sections -fdata-sections -flto -mmcu=atmega4809 -DPLATFORMIO=40100 -DARDUINO_AVR_NANO_EVERY -DMILLIS_USE_TIMERB3 -DNO_EXTERNAL_I2C_PULLUP -DAVR_NANO_4809_328MODE -DARDUINO_ARCH_MEGAAVR -DF_CPU=16000000L -DARDUINO=10805 -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\variants\nona4809 C:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr\Tone.cpp
avr-g++ -o .pio\build\nanoevery\FrameworkArduino\UART.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -Os -Wall -ffunction-sections -fdata-sections -flto -mmcu=atmega4809 -DPLATFORMIO=40100 -DARDUINO_AVR_NANO_EVERY -DMILLIS_USE_TIMERB3 -DNO_EXTERNAL_I2C_PULLUP -DAVR_NANO_4809_328MODE -DARDUINO_ARCH_MEGAAVR -DF_CPU=16000000L -DARDUINO=10805 -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\variants\nona4809 C:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr\UART.cpp
avr-g++ -o .pio\build\nanoevery\FrameworkArduino\UART0.cpp.o [..]
avr-g++ -o .pio\build\nanoevery\FrameworkArduino\UART1.cpp.o [..]
rp l ^~~~a~t~f~o
mio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\variants\nona4809 C:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr\UART1.cpp
avr-g++ -o .pio\build\nanoevery\FrameworkArduino\UART2.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -Os -Wall -ffunction-sections -fdata-sections -flto -mmcu=atmega4809 -DPLATFORMIO=40100 -DARDUINO_AVR_NANO_EVERY -DMILLIS_USE_TIMERB3 -DNO_EXTERNAL_I2C_PULLUP -DAVR_NANO_4809_328MODE -DARDUINO_ARCH_MEGAAVR -DF_CPU=16000000L -DARDUINO=10805 -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\variants\nona4809 C:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr\UART2.cpp
avr-g++ -o .pio\build\nanoevery\FrameworkArduino\UART3.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -Os -Wall -ffunction-sections -fdata-sections -flto -mmcu=atmega4809 -DPLATFORMIO=40100 -DARDUINO_AVR_NANO_EVERY -DMILLIS_USE_TIMERB3 -DNO_EXTERNAL_I2C_PULLUP -DAVR_NANO_4809_328MODE -DARDUINO_ARCH_MEGAAVR -DF_CPU=16000000L -DARDUINO=10805 -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\variants\nona4809 C:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr\UART3.cpp
avr-g++ -o .pio\build\nanoevery\FrameworkArduino\UNO_compat.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -Os -Wall -ffunction-sections -fdata-sections -flto -mmcu=atmega4809 -DPLATFORMIO=40100 -DARDUINO_AVR_NANO_EVERY -DMILLIS_USE_TIMERB3 -DNO_EXTERNAL_I2C_PULLUP -DAVR_NANO_4809_328MODE -DARDUINO_ARCH_MEGAAVR -DF_CPU=16000000L -DARDUINO=10805 -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\variants\nona4809 C:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr\UNO_compat.cpp
avr-g++ -o .pio\build\nanoevery\FrameworkArduino\USBCore.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -Os -Wall -ffunction-sections -fdata-sections -flto -mmcu=atmega4809 -DPLATFORMIO=40100 -DARDUINO_AVR_NANO_EVERY -DMILLIS_USE_TIMERB3 -DNO_EXTERNAL_I2C_PULLUP -DAVR_NANO_4809_328MODE -DARDUINO_ARCH_MEGAAVR -DF_CPU=16000000L -DARDUINO=10805 -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\variants\nona4809 C:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr\USBCore.cpp
avr-gcc -o .pio\build\nanoevery\FrameworkArduino\WInterrupts.c.o -c -std=gnu11 -fno-fat-lto-objects -Os -Wall -ffunction-sections -fdata-sections -flto -mmcu=atmega4809 -DPLATFORMIO=40100 -DARDUINO_AVR_NANO_EVERY -DMILLIS_USE_TIMERB3 -DNO_EXTERNAL_I2C_PULLUP -DAVR_NANO_4809_328MODE -DARDUINO_ARCH_MEGAAVR -DF_CPU=16000000L -DARDUINO=10805 -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\variants\nona4809 C:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr\WInterrupts.c
avr-g++ -o .pio\build\nanoevery\FrameworkArduino\WMath.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -Os -Wall -ffunction-sections -fdata-sections -flto -mmcu=atmega4809 -DPLATFORMIO=40100 -DARDUINO_AVR_NANO_EVERY -DMILLIS_USE_TIMERB3 -DNO_EXTERNAL_I2C_PULLUP -DAVR_NANO_4809_328MODE -DARDUINO_ARCH_MEGAAVR -DF_CPU=16000000L -DARDUINO=10805 -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\variants\nona4809 C:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr\WMath.cpp
avr-g++ -o .pio\build\nanoevery\FrameworkArduino\abi.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -Os -Wall -ffunction-sections -fdata-sections -flto -mmcu=atmega4809 -DPLATFORMIO=40100 -DARDUINO_AVR_NANO_EVERY -DMILLIS_USE_TIMERB3 -DNO_EXTERNAL_I2C_PULLUP -DAVR_NANO_4809_328MODE -DARDUINO_ARCH_MEGAAVR -DF_CPU=16000000L -DARDUINO=10805 -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\variants\nona4809 C:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr\abi.cpp
avr-g++ -o .pio\build\nanoevery\FrameworkArduino\api\Common.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -Os -Wall -ffunction-sections -fdata-sections -flto -mmcu=atmega4809 -DPLATFORMIO=40100 -DARDUINO_AVR_NANO_EVERY -DMILLIS_USE_TIMERB3 -DNO_EXTERNAL_I2C_PULLUP -DAVR_NANO_4809_328MODE -DARDUINO_ARCH_MEGAAVR -DF_CPU=16000000L -DARDUINO=10805 -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\variants\nona4809 C:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr\api\Common.cpp
avr-gcc-ar rc .pio\build\nanoevery\libFrameworkArduinoVariant.a .pio\build\nanoevery\FrameworkArduinoVariant\variant.c.o
avr-g++ -o .pio\build\nanoevery\FrameworkArduino\api\IPAddress.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -Os -Wall -ffunction-sections -fdata-sections -flto -mmcu=atmega4809 -DPLATFORMIO=40100 -DARDUINO_AVR_NANO_EVERY -DMILLIS_USE_TIMERB3 -DNO_EXTERNAL_I2C_PULLUP -DAVR_NANO_4809_328MODE -DARDUINO_ARCH_MEGAAVR -DF_CPU=16000000L -DARDUINO=10805 -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\variants\nona4809 C:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr\api\IPAddress.cpp
avr-g++ -o .pio\build\nanoevery\FrameworkArduino\api\PluggableUSB.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -Os -Wall -ffunction-sections -fdata-sections -flto -mmcu=atmega4809 -DPLATFORMIO=40100 -DARDUINO_AVR_NANO_EVERY -DMILLIS_USE_TIMERB3 -DNO_EXTERNAL_I2C_PULLUP -DAVR_NANO_4809_328MODE -DARDUINO_ARCH_MEGAAVR -DF_CPU=16000000L -DARDUINO=10805 -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\variants\nona4809 C:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr\api\PluggableUSB.cpp
avr-g++ -o .pio\build\nanoevery\FrameworkArduino\api\Print.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -Os -Wall -ffunction-sections -fdata-sections -flto -mmcu=atmega4809 -DPLATFORMIO=40100 -DARDUINO_AVR_NANO_EVERY -DMILLIS_USE_TIMERB3 -DNO_EXTERNAL_I2C_PULLUP -DAVR_NANO_4809_328MODE -DARDUINO_ARCH_MEGAAVR -DF_CPU=16000000L -DARDUINO=10805 -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\variants\nona4809 C:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr\api\Print.cpp
avr-gcc-ranlib .pio\build\nanoevery\libFrameworkArduinoVariant.a
avr-g++ -o .pio\build\nanoevery\FrameworkArduino\api\Stream.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -Os -Wall -ffunction-sections -fdata-sections -flto -mmcu=atmega4809 -DPLATFORMIO=40100 -DARDUINO_AVR_NANO_EVERY -DMILLIS_USE_TIMERB3 -DNO_EXTERNAL_I2C_PULLUP -DAVR_NANO_4809_328MODE -DARDUINO_ARCH_MEGAAVR -DF_CPU=16000000L -DARDUINO=10805 -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\variants\nona4809 C:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr\api\Stream.cpp
avr-g++ -o .pio\build\nanoevery\FrameworkArduino\api\String.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -Os -Wall -ffunction-sections -fdata-sections -flto -mmcu=atmega4809 -DPLATFORMIO=40100 -DARDUINO_AVR_NANO_EVERY -DMILLIS_USE_TIMERB3 -DNO_EXTERNAL_I2C_PULLUP -DAVR_NANO_4809_328MODE -DARDUINO_ARCH_MEGAAVR -DF_CPU=16000000L -DARDUINO=10805 -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\variants\nona4809 C:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr\api\String.cpp
avr-gcc -o .pio\build\nanoevery\FrameworkArduino\hooks.c.o -c -std=gnu11 -fno-fat-lto-objects -Os -Wall -ffunction-sections -fdata-sections -flto -mmcu=atmega4809 -DPLATFORMIO=40100 -DARDUINO_AVR_NANO_EVERY -DMILLIS_USE_TIMERB3 -DNO_EXTERNAL_I2C_PULLUP -DAVR_NANO_4809_328MODE -DARDUINO_ARCH_MEGAAVR -DF_CPU=16000000L -DARDUINO=10805 -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\variants\nona4809 C:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr\hooks.c
avr-g++ -o .pio\build\nanoevery\FrameworkArduino\main.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -Os -Wall -ffunction-sections -fdata-sections -flto -mmcu=atmega4809 -DPLATFORMIO=40100 -DARDUINO_AVR_NANO_EVERY -DMILLIS_USE_TIMERB3 -DNO_EXTERNAL_I2C_PULLUP -DAVR_NANO_4809_328MODE -DARDUINO_ARCH_MEGAAVR -DF_CPU=16000000L -DARDUINO=10805 -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\variants\nona4809 C:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr\main.cpp
avr-g++ -o .pio\build\nanoevery\FrameworkArduino\new.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -Os -Wall -ffunction-sections -fdata-sections -flto -mmcu=atmega4809 -DPLATFORMIO=40100 -DARDUINO_AVR_NANO_EVERY -DMILLIS_USE_TIMERB3 -DNO_EXTERNAL_I2C_PULLUP -DAVR_NANO_4809_328MODE -DARDUINO_ARCH_MEGAAVR -DF_CPU=16000000L -DARDUINO=10805 -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\variants\nona4809 C:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr\new.cpp
avr-gcc -o .pio\build\nanoevery\FrameworkArduino\wiring.c.o -c -std=gnu11 -fno-fat-lto-objects -Os -Wall -ffunction-sections -fdata-sections -flto -mmcu=atmega4809 -DPLATFORMIO=40100 -DARDUINO_AVR_NANO_EVERY -DMILLIS_USE_TIMERB3 -DNO_EXTERNAL_I2C_PULLUP -DAVR_NANO_4809_328MODE -DARDUINO_ARCH_MEGAAVR -DF_CPU=16000000L -DARDUINO=10805 -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\variants\nona4809 C:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr\wiring.c
avr-gcc -o .pio\build\nanoevery\FrameworkArduino\wiring_analog.c.o -c -std=gnu11 -fno-fat-lto-objects -Os -Wall -ffunction-sections -fdata-sections -flto -mmcu=atmega4809 -DPLATFORMIO=40100 -DARDUINO_AVR_NANO_EVERY -DMILLIS_USE_TIMERB3 -DNO_EXTERNAL_I2C_PULLUP -DAVR_NANO_4809_328MODE -DARDUINO_ARCH_MEGAAVR -DF_CPU=16000000L -DARDUINO=10805 -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\variants\nona4809 C:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr\wiring_analog.c
avr-gcc -o .pio\build\nanoevery\FrameworkArduino\wiring_digital.c.o -c -std=gnu11 -fno-fat-lto-objects -Os -Wall -ffunction-sections -fdata-sections -flto -mmcu=atmega4809 -DPLATFORMIO=40100 -DARDUINO_AVR_NANO_EVERY -DMILLIS_USE_TIMERB3 -DNO_EXTERNAL_I2C_PULLUP -DAVR_NANO_4809_328MODE -DARDUINO_ARCH_MEGAAVR -DF_CPU=16000000L -DARDUINO=10805 -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\variants\nona4809 C:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr\wiring_digital.c
avr-gcc -x assembler-with-cpp -Os -Wall -ffunction-sections -fdata-sections -flto -mmcu=atmega4809 -DPLATFORMIO=40100 -DARDUINO_AVR_NANO_EVERY -DMILLIS_USE_TIMERB3 -DNO_EXTERNAL_I2C_PULLUP -DAVR_NANO_4809_328MODE -DARDUINO_ARCH_MEGAAVR -DF_CPU=16000000L -DARDUINO=10805 -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\variants\nona4809 -c -o .pio\build\nanoevery\FrameworkArduino\wiring_pulse.S.o C:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr\wiring_pulse.S
avr-gcc -o .pio\build\nanoevery\FrameworkArduino\wiring_pulse.c.o -c -std=gnu11 -fno-fat-lto-objects -Os -Wall -ffunction-sections -fdata-sections -flto -mmcu=atmega4809 -DPLATFORMIO=40100 -DARDUINO_AVR_NANO_EVERY -DMILLIS_USE_TIMERB3 -DNO_EXTERNAL_I2C_PULLUP -DAVR_NANO_4809_328MODE -DARDUINO_ARCH_MEGAAVR -DF_CPU=16000000L -DARDUINO=10805 -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\variants\nona4809 C:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr\wiring_pulse.c
avr-gcc -o .pio\build\nanoevery\FrameworkArduino\wiring_shift.c.o -c -std=gnu11 -fno-fat-lto-objects -Os -Wall -ffunction-sections -fdata-sections -flto -mmcu=atmega4809 -DPLATFORMIO=40100 -DARDUINO_AVR_NANO_EVERY -DMILLIS_USE_TIMERB3 -DNO_EXTERNAL_I2C_PULLUP -DAVR_NANO_4809_328MODE -DARDUINO_ARCH_MEGAAVR -DF_CPU=16000000L -DARDUINO=10805 -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr -IC:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\variants\nona4809 C:\Users\Maxi\.platformio\packages\framework-arduinoavr@src-8dddc063ed8c836e50e70df22c464ea6\cores\megaavr\wiring_shift.c
avr-gcc-ar rc .pio\build\nanoevery\libFrameworkArduino.a .pio\build\nanoevery\FrameworkArduino\CDC.cpp.o .pio\build\nanoevery\FrameworkArduino\NANO_Compat.cpp.o .pio\build\nanoevery\FrameworkArduino\Tone.cpp.o .pio\build\nanoevery\FrameworkArduino\UART.cpp.o .pio\build\nanoevery\FrameworkArduino\UART0.cpp.o .pio\build\nanoevery\FrameworkArduino\UART1.cpp.o .pio\build\nanoevery\FrameworkArduino\UART2.cpp.o .pio\build\nanoevery\FrameworkArduino\UART3.cpp.o .pio\build\nanoevery\FrameworkArduino\UNO_compat.cpp.o .pio\build\nanoevery\FrameworkArduino\USBCore.cpp.o .pio\build\nanoevery\FrameworkArduino\WInterrupts.c.o .pio\build\nanoevery\FrameworkArduino\WMath.cpp.o .pio\build\nanoevery\FrameworkArduino\abi.cpp.o .pio\build\nanoevery\FrameworkArduino\api\Common.cpp.o .pio\build\nanoevery\FrameworkArduino\api\IPAddress.cpp.o .pio\build\nanoevery\FrameworkArduino\api\PluggableUSB.cpp.o .pio\build\nanoevery\FrameworkArduino\api\Print.cpp.o .pio\build\nanoevery\FrameworkArduino\api\Stream.cpp.o .pio\build\nanoevery\FrameworkArduino\api\String.cpp.o .pio\build\nanoevery\FrameworkArduino\hooks.c.o .pio\build\nanoevery\FrameworkArduino\main.cpp.o .pio\build\nanoevery\FrameworkArduino\new.cpp.o .pio\build\nanoevery\FrameworkArduino\wiring.c.o .pio\build\nanoevery\FrameworkArduino\wiring_analog.c.o .pio\build\nanoevery\FrameworkArduino\wiring_digital.c.o .pio\build\nanoevery\FrameworkArduino\wiring_pulse.S.o .pio\build\nanoevery\FrameworkArduino\wiring_pulse.c.o .pio\build\nanoevery\FrameworkArduino\wiring_shift.c.o
avr-gcc-ranlib .pio\build\nanoevery\libFrameworkArduino.a
avr-g++ -o .pio\build\nanoevery\firmware.elf -Os -mmcu=atmega4809 -Wl,--gc-sections -flto -fuse-linker-plugin .pio\build\nanoevery\src\main.cpp.o -L.pio\build\nanoevery -Wl,--start-group .pio\build\nanoevery\libFrameworkArduinoVariant.a .pio\build\nanoevery\libFrameworkArduino.a -lm -Wl,--end-group
MethodWrapper(["checkprogsize"], [".pio\build\nanoevery\firmware.elf"])
avr-objcopy -O ihex -R .eeprom .pio\build\nanoevery\firmware.elf .pio\build\nanoevery\firmware.hex
Memory Usage -> http://bit.ly/pio-memory-usage
DATA:    [          ]   2.8% (used 175 bytes from 6144 bytes)
PROGRAM: [=         ]   5.8% (used 2862 bytes from 49152 bytes)
.pio\build\nanoevery\firmware.elf  :
section                     size      addr
.data                          4   8398848
.text                       2858         0
.rodata                       35     19242
.bss                         171   8398852
.comment                      17         0
.note.gnu.avr.deviceinfo      64         0
.debug_aranges               384         0
.debug_info                11677         0
.debug_abbrev               9112         0
.debug_line                 2287         0
.debug_str                  3979         0
Total                      30588
<lambda>(["upload"], [".pio\build\nanoevery\firmware.hex"])
AVAILABLE: jtag2updi
CURRENT: upload_protocol = jtag2updi
BeforeUpload(["upload"], [".pio\build\nanoevery\firmware.hex"])
Auto-detected: COM13
Forcing reset using 1200bps open/close on port COM13
avrdude -e -Ufuse2:w:0x01:m -Ufuse5:w:0xC9:m -Ufuse8:w:0x00:m -v -p atmega4809 -C C:\Users\Maxi\.platformio\packages\tool-avrdude\avrdude.conf -c jtag2updi -b 115200 -D -P "COM13" -U flash:w:.pio\build\nanoevery\firmware.hex:i

avrdude: Version 6.3-20171130
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Users\Maxi\.platformio\packages\tool-avrdude\avrdude.conf"

         Using Port                    : COM13
         Using Programmer              : jtag2updi
         Overriding Baud Rate          : 115200
JTAG ICE mkII sign-on message:
Communications protocol version: 1
M_MCU:
  boot-loader FW version:        1
  firmware version:              6.00
  hardware version:              1
S_MCU:
  boot-loader FW version:        1
  firmware version:              6.00
  hardware version:              1
Serial number:                   00:00:00:00:00:00
Device ID:                       JTAGICE mkII
         AVR Part                      : ATmega4809
         Chip Erase delay              : 0 us
         PAGEL                         : P00
         BS2                           : P00
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 0
         StabDelay                     : 0
         CmdexeDelay                   : 0
         SyncLoops                     : 0
         ByteDelay                     : 0
         PollIndex                     : 0
         PollValue                     : 0x00
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
           prodsig        0     0     0    0 no         61   61      0     0     0 0x00 0x00
           fuses          0     0     0    0 no          9    0      0     0     0 0x00 0x00
           fuse0          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse1          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse2          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse4          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse5          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse6          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse7          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse8          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           lock           0     0     0    0 no          1    0      0     0     0 0x00 0x00
           data           0     0     0    0 no          0    0      0     0     0 0x00 0x00
           usersig        0     0     0    0 no         64   64      0     0     0 0x00 0x00
           flash          0     0     0    0 no      49152  128      0     0     0 0x00 0x00
           eeprom         0     0     0    0 no        256   64      0     0     0 0x00 0x00

         Programmer Type : JTAGMKII_PDI
         Description     : JTAGv2 to UPDI bridge
         M_MCU hardware version: 1
         M_MCU firmware version: 6.00
         S_MCU hardware version: 1
         S_MCU firmware version: 6.00
         Serial number:          00:00:00:00:00:00
         Vtarget         : 5.0 V

avrdude: jtagmkII_initialize(): Cannot locate "flash" and "boot" memories in description
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.27s

avrdude: Device signature = 0x1e9651 (probably m4809)
avrdude: erasing chip
avrdude: reading input file "0x01"
avrdude: writing fuse2 (1 bytes):

Writing | ################################################## | 100% 0.01s

avrdude: 1 bytes of fuse2 written
avrdude: verifying fuse2 memory against 0x01:
avrdude: load data fuse2 data from input file 0x01:
avrdude: input file 0x01 contains 1 bytes
avrdude: reading on-chip fuse2 data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of fuse2 verified
avrdude: reading input file "0xC9"
avrdude: writing fuse5 (1 bytes):

Writing | ################################################## | 100% 0.01s

avrdude: 1 bytes of fuse5 written
avrdude: verifying fuse5 memory against 0xC9:
avrdude: load data fuse5 data from input file 0xC9:
avrdude: input file 0xC9 contains 1 bytes
avrdude: reading on-chip fuse5 data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of fuse5 verified
avrdude: reading input file "0x00"
avrdude: writing fuse8 (1 bytes):

Writing | ################################################## | 100% 0.01s

avrdude: 1 bytes of fuse8 written
avrdude: verifying fuse8 memory against 0x00:
avrdude: load data fuse8 data from input file 0x00:
avrdude: input file 0x00 contains 1 bytes
avrdude: reading on-chip fuse8 data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of fuse8 verified
avrdude: reading input file ".pio\build\nanoevery\firmware.hex"
avrdude: writing flash (2898 bytes):

Writing | ################################################## | 100% 2.13s

avrdude: 2898 bytes of flash written
avrdude: verifying flash memory against .pio\build\nanoevery\firmware.hex:
avrdude: load data flash data from input file .pio\build\nanoevery\firmware.hex:
avrdude: input file .pio\build\nanoevery\firmware.hex contains 2898 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.41s

avrdude: verifying ...
avrdude: 2898 bytes of flash verified

avrdude: safemode: Fuses OK (E:FF, H:FF, L:FF)

avrdude done.  Thank you.

======================================================================================================= [SUCCESS] Took 7.63 seconds =======================================================================================================
3 Likes

Done Atmel megaAVR — PlatformIO latest documentation

1 Like