keil仿真调试报错

问题

程序能正常下载,但是keil仿真调试报错,进入仿真程序就在全速运行了,此时什么都干不了。

在这里插入图片描述
查看command窗口日志信息会发现有报错:
jlink error:cpu is not halted。
在这里插入图片描述
然后点击reset按钮会退出全速仿真,所有调试按键都能按了,此时点击单步调试会报错:Could not stop Cortex-M device! Please check the JTAG cable。
在这里插入图片描述

可能的原因

网上查了大量关于造成此问题的原因,基本上能试的都尝试了,下面我简单总结了下可能的原因。

1.keil魔术棒设置:options for target

1.芯片device类型没有选对,
2.Debug选项里调试器频率不合适,
3.connect&reset options设置不对,
4.flash download 里芯片存储大小选择不对
5.c宏定义不对
6.优化等级不对

2.硬件:

1.调试器和芯片连接方式不对,很可能是reset没接对。
2.调试器硬件有问题,最简单就是换个调试器试试看。
3.板子虚焊,某个元器件未焊或者某个引脚接地等。

3.程序

1.调试端口被复用
2.看门狗使能造成,关闭看门狗。
3.内存溢出,hardfault看看是哪段代码出问题了。

总结

造成这个错误的原因就是jlink失去了对cpu的控制权,我是先排查keil设置的问题的,因为能下载程序,能进入仿真,所以keil设置基本是没问题的;然后我检查jlink和芯片引脚的连接,也没有问题。所以最后就怀疑是程序的问题,更换一个例程,发现可以仿真调试了,最后排查出来是看门狗的问题,禁用看门狗就能仿真了。

  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值