【发布时间】:2013-05-28 11:49:38
【问题描述】:
我在 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
有人可以解释如何解释这些值吗? 如何根据此列表计算闪存和内存使用量?
更新 1:
没有-A 标志,我得到以下信息:
text data bss dec hex filename
113296 7548 58496 179340 2bc8c PROGRAM.elf
更新 2:
我没有使用动态内存分配,所以根据avr-libc user-manual,可用RAM空间应该是:stackpointer减去__heap_start。
在这种情况下:61440 - 12904 = 48536 字节可用 RAM 空间。
有人可以确认吗?
【问题讨论】: