When generating the default configuration for AVR-UNO via uCNC-webconfig, the resulting configuration appears to differ from the implicit default defined in the source code through C macros. This discrepancy leads to a larger firmware size that exceeds the maximum flash capacity of the ATmega328P, causing the compilation process to fail. Building the firmware for AVR-UNO with the explicit default configuration produced by uCNC-webconfig fails with the following error:
Error: The program size (32322 bytes) is greater than maximum allowed (32256 bytes)
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
*** [checkprogsize] Explicit exit, status 1
RAM: [======= ] 67.0% (used 1372 bytes from 2048 bytes)
Flash: [==========] 100.2% (used 32322 bytes from 32256 bytes)
.pio/build/AVR-UNO/firmware.elf :
section size addr
.data 38 8388864
.text 32284 0
.bss 1334 8388902
.comment 17 0
.note.gnu.avr.deviceinfo 64 0
.debug_aranges 288 0
.debug_info 3063 0
.debug_abbrev 1622 0
.debug_line 1646 0
.debug_str 520 0
Total 40876
In contrast, when building the firmware for AVR-UNO with the implicit default configuration, the compilation succeeds and the firmware size is within limits:
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM: [======= ] 67.0% (used 1372 bytes from 2048 bytes)
Flash: [==========] 99.9% (used 32232 bytes from 32256 bytes)
.pio/build/AVR-UNO/firmware.elf :
section size addr
.data 38 8388864
.text 32194 0
.bss 1334 8388902
.comment 17 0
.note.gnu.avr.deviceinfo 64 0
.debug_aranges 288 0
.debug_info 3063 0
.debug_abbrev 1622 0
.debug_line 1646 0
.debug_str 520 0
Total 40786
This issue prevents users from successfully compiling firmware for AVR-UNO using the default configuration produced by uCNC-webconfig. The observed issue can be reproduced with the following environment:
- Configuration generator: uCNC-webconfig (Commit 12e7c33)
- Firmware version: uCNC 1.15.0
- Build system: PlatformIO
- Framework: Arduino-AVR 5.2.0
- Toolchain: ATMEL AVR 1.70300.191015 (GCC 7.3.0)
- Target platform:
AVR-UNO (ATmega328P)
When generating the default configuration for
AVR-UNOvia uCNC-webconfig, the resulting configuration appears to differ from the implicit default defined in the source code through C macros. This discrepancy leads to a larger firmware size that exceeds the maximum flash capacity of the ATmega328P, causing the compilation process to fail. Building the firmware forAVR-UNOwith the explicit default configuration produced by uCNC-webconfig fails with the following error:In contrast, when building the firmware for
AVR-UNOwith the implicit default configuration, the compilation succeeds and the firmware size is within limits:This issue prevents users from successfully compiling firmware for
AVR-UNOusing the default configuration produced by uCNC-webconfig. The observed issue can be reproduced with the following environment:AVR-UNO(ATmega328P)