AVR32 マイクロコントローラー (UC3C0512C) で C プログラムを実行しています。コマンドを発行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
誰かがこれらの値を解釈する方法を説明できますか? このリストに基づいてフラッシュと RAM の使用量を計算するにはどうすればよいですか?
更新 1:
フラグがないと-A
、次のようになります。
text data bss dec hex filename
113296 7548 58496 179340 2bc8c PROGRAM.elf
更新 2:
私は動的メモリ割り当てを使用していないので、avr-libc user-manualstackpointer
によると、空き RAM スペースは単純にマイナスになるはずです__heap_start
。
この場合:61440 - 12904 = 48536
バイトの空き RAM スペース。
誰かがそれを確認できますか?