The memory report is split into three sections: Total, RAM, and ROM.
The RAM report includes all writeable data: variables, stacks,
and heaps. It does not include code.
The ROM report includes all symbols that can be part of a ROM
image: code and statically initialized data.
The total memory report shows the total memory used, helpful
for optimizing the total RAM requirement when ROM is not used.
Note that the sum of the RAM and ROM reports may not equal the size
in the total report since statically initialized variables can
appear in both RAM and ROM reports (but only count once for the total).
The (hidden) size is memory allocated in an elf section but not
associated with any symbol.