У меня есть программа C, работающая на микроконтроллере AVR32 (UC3C0512C). Выполнение команды avr32-size -A PROGRAM.elf
генерирует следующий вывод:
PROGRAM.elf :
section size addr
.reset 8200 2147483648
.rela.got 0 2147491848
.text 99512 2147491848
.exception 512 2147591680
.rodata 5072 2147592192
.dalign 4 4
.data 7036 8
.balign 4 7044
.bss 5856 7048
.heap 48536 12904
.comment 48 0
.debug_aranges 8672 0
.debug_pubnames 14476 0
.debug_info 311236 0
.debug_abbrev 49205 0
.debug_line 208324 0
.debug_frame 23380 0
.debug_str 43961 0
.debug_loc 63619 0
.debug_macinfo 94469328 0
.stack 4096 61440
.data_hram0 512 2684354560
.debug_ranges 8368 0
Total 95379957
Может кто-нибудь объяснить, как интерпретировать эти значения? Как я могу рассчитать использование флэш-памяти и оперативной памяти на основе этого списка?
Обновление 1:
Без флага -A
я получаю следующее:
text data bss dec hex filename
113296 7548 58496 179340 2bc8c PROGRAM.elf
Обновление 2:
Я не использую динамическое выделение памяти, поэтому согласно пользователю avr-libc- вручную, свободное место в ОЗУ должно быть просто: stackpointer
минус __heap_start
.
В этом случае: 61440 - 12904 = 48536
байт свободного места в ОЗУ.
Кто-нибудь может это подтвердить?