用于尺寸分析的GCC工具?

时间:2015-02-25 16:12:10

标签: c gcc arm

我使用GCC(arm-none-eabi-gcc)开发嵌入式平台。对于大小分析,我使用:arm-none-eabi-size和.map文件。

因为我的代码大小有问题,我的问题是:是否有任何尺寸分析工具更强大?任何有文件或大小的文件?或者可以按尺寸订购功能?

欢迎任何建议。

2 个答案:

答案 0 :(得分:1)

您可以使用MELT为此目的自定义GCC。

justcountipa文件中的xtramelt-ana-simple.melt传递正在做类似的事情(计算函数中的Gimple指令)

答案 1 :(得分:1)

您可以使用arm-none-eabi-objdump -t Application.elf。它将显示所有函数和全局变量的大小(作为十六进制数)。

address    type section size     name
------------------------------------------------
0000d600 l     F .text  00000198 uip_arp_update

全局变量位于.bss部分,函数位于.text部分,常量数据位于.data部分。

您还可以在相应的目录中使用arm-none-eabi-size *.o来查看所有中间文件的大小。

也可以使用nm工具

arm-none-eabi-nm -t d -S --size-sort Application.elf


使用-ffunction-sections -fdata-sections作为编译参数和-Wl,--gc-sections作为链接器参数也是有用的,因此它将从二进制文件中删除所有未使用的函数和数据。