我目前正在测试远程固件更新,首先将映像复制到外部存储器(EEPROM),然后在自定义引导加载程序(从RAM (堆栈)启动)的帮助下,从EEPROM复制数据并对MSP430 FRAM或主存储器进行编程。 问题是,在引导加载程序将数据从FRAM区域复制到RAM(stack)时,RAM上似乎有特定的地址,而这些地址没有被复制到其中,从而导致指令损坏。 通过反复尝试,我后来发现了其中一些地址,并尝试直接将数据写入相同地址。 很明显,数据没有被写入,或者至少内存浏览器显示的是这种情况。 可能是什么问题?
一个多星期以来,我一直在思考这个问题,但我没有取得什么进展。
感谢您的任何帮助。
附注:我已验证我正在访问的地址是否在RAM地址范围内(在链接器和.map文件中均指定)。 我亦曾调查过MPU,怀疑可能是罪魁祸首,但事实并非如此。
Deksios