keil 调试指针不跳转 0x00000000 0000 MOVS r0,r0

关于keil调试中,不跳转的问题,看到两个答案,都很有道理:

(1)点击打开链接

(2)仿真模式下的不跳转问题:点击打开链接


在(1)中,我试了以后仍旧解决不了问题啊啊啊,于是我便尝试了在启动文件中更改堆栈大小:


keil 调试指针不跳转 0x00000000 0000 MOVS r0,r0_第1张图片


比如图中是512k,可根据硬件情况将堆栈值改大一些。这个小操作目前解决了困扰我的三个问题:

(1)局部变量设置较多,调试时会在HardFault_Handler中的B.   处陷入死循环;

(2)仿真调试时,会在0x000000XX  Mov r0,r0附近一直爬啊爬,不跳转;

(3)仿真调试时,如果选择step over或者Run to Cursor line,,它在某些嵌套了好几层的函数的地方并不会乖乖滴跳过去,而是倔强地进入函数里面单步执行。大概是给的饭太多,而碗太小,这家伙确实是一次盛不完了啊........

然而我现在还无法透彻讲出来是啥原理,继续探索中~


你可能感兴趣的:(学习笔记)