可以使用arm-none-eabi-objdump -t Application.elf。它将显示所有函数和全局变量的大小(十六进制数)。
地址类型节大小名称
0000d600 l F.text 00000198 uip_arp_更新
全局变量在.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作为链接器参数也很有用,因此它将从二进制文件中删除所有未使用的函数和数据。