Hello.
I’m working on a project, using an AVR128DA which I flash using jtag2udpi programmer.
I had this problem before with the Attiny 3216 and switched to the AVR128DA because I assumed that it simply used more memory than indicated and unfortunately didn’t think about it any further. And now I’m back at the same point:
I tested it and adding any (working) code to exceed roughly 50% , in this case (AVR128DA28) exactly 60kb, the MCU hangs or acts weird after a short time. If I remove it, it works again.
Now here’s the thing: I migrated my little program to the Arduino IDE and it works normal as expected, even beyond 60kb and further. tried a fresh install of vs code and Platformio an my 2nd computer, but it has the same outcome.
Based on my limited knowledge, I would conclude that there are different compiler flags (or other settings?) between Arduino IDE and PlatformIO, but since I assume other people also use more than 50% of their flash memory and I haven’t come across any reports on the internet, I’m really at a loss.
Does anyone have any ideas or suggestions on where I could look, because I really like the Platformio IDE and don’t want to stick with Arduino?
Thanks is advance!
P.S.
One strange thing is this Total of ~88kb at the end of “pio_log.txt.” What is this?
My platformio ini:
[env:AVR128DA28]
platform = https://github.com/platformio/platform-atmelmegaavr.git
board = AVR128DA28
board_build.f_cpu = 16000000L
framework = arduino
lib_deps =
kitesurfer1404/WS2812FX@^1.4.5
mathertel/OneButton@^2.6.1
jandelgado/JLed@^4.15.0
jcsb1994/Buzzer@^1.0.0
kosme/arduinoFFT@^2.0.4
Output of pio_log.txt
Processing AVR128DA28 (platform: https://github.com/platformio/platform-atmelmegaavr.git; board: AVR128DA28; board_build.f_cpu: 16000000L; framework: arduino; lib_deps: kitesurfer1404/WS2812FX@^1.4.5, mathertel/OneButton@^2.6.1, jandelgado/JLed@^4.15.0, jcsb1994/Buzzer@^1.0.0, kosme/arduinoFFT@^2.0.4)
--------------------------------------------------------------------------------
CONFIGURATION: https://docs.platformio.org/page/boards/atmelmegaavr/AVR128DA28.html
PLATFORM: Atmel megaAVR (1.9.0+sha.5002fb5) (git+https://github.com/platformio/platform-atmelmegaavr.git) > AVR128DA28
HARDWARE: AVR128DA28 16MHz, 16KB RAM, 128KB Flash
PACKAGES:
- framework-arduino-megaavr-dxcore @ 1.5.6
- toolchain-atmelavr @ 3.70300.220127 (7.3.0)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 24 compatible libraries
Scanning dependencies...
Dependency Graph
|-- WS2812FX @ 1.4.5 (License: Unknown, Path: C:\Users\XX\Documents\PlatformIO\Projects\XX\.pio\libdeps\AVR128DA28\WS2812FX)
| |-- Adafruit NeoPixel @ 1.15.1 (License: Unknown, Path: C:\Users\XX\Documents\PlatformIO\Projects\XX\.pio\libdeps\AVR128DA28\Adafruit NeoPixel)
| |-- tinyNeoPixel Static @ 2.0.4 (License: Unknown, Path: C:\Users\F\.platformio\packages\framework-arduino-megaavr-dxcore\libraries\tinyNeoPixel_Static)
|-- OneButton @ 2.6.1 (License: BSD-3-Clause, Path: C:\Users\XX\Documents\PlatformIO\Projects\XX\.pio\libdeps\AVR128DA28\OneButton)
|-- JLed @ 4.15.0 (License: Unknown, Path: C:\Users\XX\Documents\PlatformIO\Projects\XX\.pio\libdeps\AVR128DA28\JLed)
|-- Buzzer @ 1.0.0 (License: Apache-2.0, Path: C:\Users\XX\Documents\PlatformIO\Projects\XX\.pio\libdeps\AVR128DA28\Buzzer)
|-- arduinoFFT @ 2.0.4 (License: Unknown, Path: C:\Users\XX\Documents\PlatformIO\Projects\XX\.pio\libdeps\AVR128DA28\arduinoFFT)
Building in release mode
MethodWrapper(["checkprogsize"], [".pio\build\AVR128DA28\firmware.elf"])
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM: [== ] 22.7% (used 3726 bytes from 16384 bytes)
Flash: [===== ] 46.0% (used 60268 bytes from 131072 bytes)
.pio\build\AVR128DA28\firmware.elf :
section size addr
.data 2490 8404992
.text 57778 0
.bss 1236 8407482
.comment 17 0
.note.gnu.avr.deviceinfo 64 0
.debug_aranges 448 0
.debug_info 10886 0
.debug_abbrev 8534 0
.debug_line 2669 0
.debug_str 3791 0
Total 87913
========================= [SUCCESS] Took 1.01 seconds =========================