对.elf和.hex执行arm-none-eabi-size的结果, 都是只包括.text和.data段的总和, 但是用arm-none-eabi-objcopy转成.bin之后就多了几百到1k多字节不等.
用ultraedit检查, 发现最末尾的部分是.data段的内容, 前面多了一大段, 全00, 如果给objcopy加上--gap-fill 0xff的话就是全ff了.
再检查.map和.lds, 发现中间多出的一段是.ARM.attributes, 用到的每个c源文件都会附加一小段上去.
如果在.lds里把.ARM.attributes相应的一段注释掉, 再编译, 对.elf和.hex执行size的结果就和转.bin的大小完全一致了.
这样做如果没问题的话以后就都把.ARM.attributes去掉了...
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>