ARM技术论坛
直播中

王芳

7年用户 1421经验值
私信 关注
[问答]

有什么快速的方法可以发现ARM编译器创建映像的差异

你好

我有一个奇怪的问题,在我的引导加载项目中,如果使用ARM Compiler 6.12进行编译,则可以工作,但是如果使用6.13.1进行编译,则不会。

固件的功能非常简单:启动时,它将检查(易失)存储器位置中是否有新的固件,如果找到,它将计算其内容的CRC并与写入的CRC进行比较。如果它们匹配,它将固件写入非易失性位置,并将MSP设置为主固件开始的位置。

引导加载程序FW可以运行,但是它以某种方式更改了一块内存,而该内存并未被用6.12编译的映像所触及,即使我在分散文件中将该区域专门标记为EMPTY,并且用于读取该内存的指针是一个CONST指针。我已确保内存不会被主固件更改。

我已经阅读了6.13的发行说明,似乎没有什么适合我的问题。

我试图比较来自两个AXF的反汇编文件列表,但是被差异数量所淹没。有什么快速的方法可以发现差异?

回帖(1)

李秀兰

2022-8-23 14:58:59
调试此问题的最常见方法是在该地址上设置调试监视点,以便只要该地址发生写(SToRe),代码就会停止。
您正在使用哪些调试工具?如果是Arm DS或MDK,我可以为您提供帮助。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分