【发布时间】:2015-04-08 13:54:47
【问题描述】:
我正在寻找一种方法来查看在 at32uc3b0512 上运行的应用程序的 RAM 使用情况。
arv32-size.exe foo.elf 告诉我:
text data bss dec hex filename
263498 11780 86524 361802 5854a foo.elf
根据“google”,RAM 使用量为 .data + .bss。但是 .data + .bss 已经是 (11780+86524)/1024 = 96kb,这意味着我的 RAM 已满(at32uc3b0512 -> 96kb SRAM)。但是该应用程序可以按需要工作。我错了吗???
【问题讨论】:
-
链接器在构建期间生成的 .map 文件应该告诉您每个部分的大小。这可能是一种仔细检查 arv32-size.exe 告诉你的方法。
-
试试
avr32-size -A,输出往往更理智。请参阅stackoverflow.com/questions/16791311/… 上的较早讨论。 -
如果我尝试 avr32-size.exe -A,.data 具有相同的大小,但 .bss 只有 21664 ......因此一切正常。但是为什么avr32-size.exe在不同的模式下会绘制不同的值呢?
-
我发现了与 *-size 实用程序类似的问题,除了我正在报告 RAM 利用率。我建议您将您的发现提交到 avr-gcc 的邮件列表