點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設置。