STM32Debug时卡在SystenInit函数的解决办法

最近在用STM32F4做相关项目的开发,在开发的过程中为了看清程序的执行,想对程序进行单步调试,但是发现会出现程序运行后卡在SystemInit函数中,且设置断点后点击执行到断点处时,发现程序在进行单步执行,且在  
do
  {
    HSEStatus = RCC->CR & RCC_CR_HSERDY;
    StartUpCounter++;
  } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT));
函数无法跳出。这说明是外部晶振没有起振,但是程序烧录进芯片是可以直接执行的,这至少是说明硬件不存在问题。结合前人关于无法跳出的问题,前人经验:修改Debug下的Dialog和Parameter.
Dialog内容应该修改为DARMSTM.DLL
Parameter内容应该修改为-pSTM32F4XX。此处应该写出单片机的具体型号,且不要写型号的最后两位。比如我用的单片机是STM32F407VGT6,在此处应该填写的是STM32F407VG。
此外,有可能在填写完这些后仍不能进入单步调试,此时应检查Target下的Use Microlib是否勾选,如果没有勾选,请勾选。

粽子糖果 发表于11-19 09:10 浏览65535次
分享到:

已有0条评论

暂时还没有回复哟,快来抢沙发吧

添加一条新评论

只有登录用户才能评论,请先登录注册哦!

话题作者

粽子糖果
粽子糖果(总统)
金币:41623个|学分:51975个
立即注册
畅学电子网,带你进入电子开发学习世界
专业电子工程技术学习交流社区,加入畅学一起充电加油吧!

x

畅学电子网订阅号