如何知道裸机臂代码的闪光尺寸。如果我有精灵,是否可以知道存储程序需要多少闪存?例如,如果我有一个应该进入基于ARM的MCU的elf文件,我如何确定代码将消耗多少MCU的闪存?
答案 0 :(得分:2)
ELF标题应包含您需要的信息。您可以使用objdump
(带-h)或readelf
工具来阅读这些内容。这些工具应该包含在您的工具链中。
基本上,您希望将所有可加载部分的大小相加,例如.text
和.data
。例如,在LOAD
的输出中查找objdump
标志。
您可以忽略不可加载的部分,例如.comment
,.debug
和.bss
。例如,有些部分是为调试器带来的好处,有些只是占位符对于程序在运行时使用的内存,但不包含预先存在的数据。
当我说“加上大小”时,这并不严格;链接器已经将每个部分分配给flash中的特定地址(我假设你的程序将直接从ROM运行),所以你需要找到最后一部分的结束地址以确定剩下多少。