你好
我有一个奇怪的问题,在我的引导加载项目中,如果使用ARM Compiler 6.12进行编译,则可以工作,但是如果使用6.13.1进行编译,则不会。
固件的功能非常简单:启动时,它将检查(易失)存储器位置中是否有新的固件,如果找到,它将计算其内容的CRC并与写入的CRC进行比较。如果它们匹配,它将固件写入非易失性位置,并将MSP设置为主固件开始的位置。
引导加载程序FW可以运行,但是它以某种方式更改了一块内存,而该内存并未被用6.12编译的映像所触及,即使我在分散文件中将该区域专门标记为EMPTY,并且用于读取该内存的指针是一个CONST指针。我已确保内存不会被主固件更改。
我已经阅读了6.13的发行说明,似乎没有什么适合我的问题。
我试图比较来自两个AXF的反汇编文件列表,但是被差异数量所淹没。有什么快速的方法可以发现差异?
更多回帖