I am locally compiling a project and suspect I am going over the maximum code size when I include all the necessary libraries. First, to review:
- The maximum user code size which must include the core-firmware is 108KB or 1B000 hex.
- The maximum RAM size is 20KB total
- The present compile/dfu-util setup (as per core firmware instructions) does not place any “const” data or PROMEM declared data in the external flash (not yet at least).
The output of my compile (not all libraries included) shows:
arm-none-eabi-size --format=berkeley core-firmware.elf text data bss dec hex filename 97932 3024 13044 114000 1bd50 core-firmware.elf
These numbers represent:
The code size (text), constant data (data) and global variables or statically allocated variables (bss), all in decimal. The sum of text+data+bss is shown in dec(imal) and hex(adecimal)
If I understand correctly,
text+data = flash used and
bss = RAM used. Correct? So in this case, there are 101,136 (x18B10) bytes of flash and 13,044 (x32F4) bytes of RAM used.