2019-07-18 17:20发布
毛毛lallala 发表于 2019-6-17 10:47 不会切换到ARM模式,只支持Thumb模式,你可以改下reset函数的地址强制切到ARM模式,应该会出现hardfault
dang28 发表于 2019-6-17 10:53 仿真器调试的时候,PC值LSB位值是0,应该是ARM模式吧?
毛毛lallala 发表于 2019-6-17 11:10 本帖最后由 andeyqi 于 2018-7-10 09:16 编辑 不是,PC的值LSB位是0是正常的PC是两字节对齐的,你可以看下跳转函数的地址,这个地址的LSB应该是1,PC跳转的时候回把这个1屏蔽掉。也就是说函数的地址LSB是还是0,只是跳转的时候THUMB模式会吧对应地址的LSB置1来区分是thumb还是arm模式。 ...
最多设置5个标签!
仿真器调试的时候,PC值LSB位值是0,应该是ARM模式吧?
本帖最后由 andeyqi 于 2018-7-10 09:16 编辑
不是,PC的值LSB位是0是正常的PC是两字节对齐的,你可以看下跳转函数的地址,这个地址的LSB应该是1,PC跳转的时候回把这个1屏蔽掉。也就是说函数的地址LSB是还是0,只是跳转的时候THUMB模式会吧对应地址的LSB置1来区分是thumb还是arm模式。
我记得区分ARM还是Thumb就是依靠PC的LSB,0是ARM模式,1是Thumb。而且设置堆栈设置的就是MSP,而不是PSP,应该是ARM模式吧。
大神有没有什么资料我可以去看下?
一周热门 更多>