请教一个jtag调试的问题

[复制链接]
2445|3
 楼主| allenone 发表于 2009-3-24 16:20 | 显示全部楼层 |阅读模式
我用jtag调试2440的板子,有一段子程序,是打开中断的,程序返回的时候,发现R14老是被莫名的修改,导致程序返回地址出错。看反汇编单步执行,程序执行的一条类似mov r0,{r0,0}后,r14和好多其他寄存器都发生变化了,不知道大家有没有遇到过,怎样解决?谢谢
yan2005 发表于 2009-3-24 17:17 | 显示全部楼层

正常的

R15是PC指针<br />R14是函数返回地址<br />R13是对栈指针<br /><br />ARM指令运行的时候,影响到这些寄存器和CPSR状态寄存器是正常的。参考ARM的指令手册,可以看到一部分内容就是指令执行后对这些寄存器的影响。
 楼主| allenone 发表于 2009-3-25 12:57 | 显示全部楼层

谢谢

嗯,这样的话,为什么子程序返回地址出错呢?R14是返回地址,在这个子程序返回时,R14的值不应该被修改啊?
ww326 发表于 2009-3-28 11:40 | 显示全部楼层

学习了

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

22

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部