登录注册
论坛
一粒金砂(中级)
18
0
在此小弟请教下各位高人。
最近用LPC1752做了个IAP升级程序,但是碰到一个奇怪现象,IAP升级验证通过,大部分机器升级后运行正常,却有少数机器运行失败,进入各种异常。
用JTAG读回运行失败机器的CODE,发现数据是正确的,立即用JTAG写会运行失败的那个机器,结果都能正常运行了。
不知道是什么原因,好像不是软件的问题。
大家有碰到过这样的现象吗。
谢谢指点。
扫一扫,分享给好友
裸片初长成(初级)
4996
19
谢谢大大的关注。
再详细说明下具体情况。
有问题的机器的用户程序一般没法在线仿真,因为JTAG一运行重载就好了,程序根本没有做任何更改。有次KEIL在没有重载代码的情况下,用汇编代码观察故障机器的运行,发现有个2进制BIN,ROM的值与汇编二进制的代码值不一致。看图: 123.JPG (9.25 KB, 下载次数: 4) 下载附件 保存到相册 2012-4-15 12:02 上传
123.JPG (9.25 KB, 下载次数: 4)
下载附件 保存到相册
2012-4-15 12:02 上传
LDC指令 cortex M3核据查好像无法解析,此处会跑飞到0000处,引发硬Fault。
234.JPG (20.28 KB, 下载次数: 4) 下载附件 保存到相册 2012-4-15 12:02 上传
234.JPG (20.28 KB, 下载次数: 4)
看看实际的ROM数据,实际是F810好像对应的指令是LDR,所以因此而进异常。
具体引起的原因就不知道了。
有没有哪位高手知道JTAG写FLASH,与IAP写FLASH的区别呢?
12
6
发表回复 回帖后跳转到最后一页
曾经的版主且威望大于2000,或对EEWORLD论坛有突出贡献的坛友
EEWorld Datasheet 技术支持
查看 »