点debug会卡在 “?C_STARTUP: LJMP STARTUP1”这条语句上,然后卡死,无法退出Debug模式也无法关闭Keil
由于同样的工程在别的板子上就可以Debug,遂考虑硬件设计问题,
对比板子差异后发现,不能debug的板子,在SWCLK到单片机之间的串联电阻选择的是1K,阻值过大。更换成100欧姆或短接后解决问题
P.S.有时会因为各种乱七八糟的不明原因,导致之前明明是好好的,同样的工程,同样的板子,就不能正常进入debug了。排查了一周,原因可能出现在Target设置紊乱的原因。重装Keil一般可以解决,偶尔重装也不行。一周因此卸载keil七八九十次了。头大,后来发现可以用另一个方法重置Target设置,记录如下:
点击魔术棒,点击Target,设置好频率,RAM、ROM大小;点击Debug标签页,选中Use Simulator;点击OK;点击Debug,正常进入debug;退出Debug;点击魔术棒,选中Use调试适配器。
原理我猜想应该是用仿真Debug重置了Target设置。