关于keil调试中,不跳转的问题,看到两个答案,都很有道理:
(1)点击打开链接
(2)仿真模式下的不跳转问题:点击打开链接
在(1)中,我试了以后仍旧解决不了问题啊啊啊,于是我便尝试了在启动文件中更改堆栈大小:
比如图中是512k,可根据硬件情况将堆栈值改大一些。这个小操作目前解决了困扰我的三个问题:
(1)局部变量设置较多,调试时会在HardFault_Handler中的B. 处陷入死循环;
(2)仿真调试时,会在0x000000XX Mov r0,r0附近一直爬啊爬,不跳转;
(3)仿真调试时,如果选择step over或者Run to Cursor line,,它在某些嵌套了好几层的函数的地方并不会乖乖滴跳过去,而是倔强地进入函数里面单步执行。大概是给的饭太多,而碗太小,这家伙确实是一次盛不完了啊........
然而我现在还无法透彻讲出来是啥原理,继续探索中~