Skip to content

Compilation error due to default configuration discrepancy in uCNC-webconfig #2

Description

@bahnwaerter

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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions