Keil调试时常出现的错误

1ST-LINK USB communication error

Keil调试时常出现的错误_第1张图片
这个问题出现的较为普遍,上一次还烧的好好的,下一次就出现了这个问题,而且插拔USB和重启都无法解决,曾经有几次偶然情况,拼着锲而不舍的毅力,偶尔能恢复正常。应该是STlink内部驱动的原因。
之后,尝试重新刷驱动可以有效的解决这个问题,这里附上驱动链接,成功连接后,重新插拔USB有大概率又无法识别。
链接:https://pan.baidu.com/s/12TpJU30x9Zs2bET-7LS2Xg
提取码:ud5c
Keil调试时常出现的错误_第2张图片
下载完之后打开图中批处理文件,按步骤完成安装,之后切出去,按下图的步骤进行更新,第二步无法识别的情况,需要重新插拔usb。Keil调试时常出现的错误_第3张图片

2 internal command error

请首先确保电源稳定一致,在绝大多数情况下,都是由于电池耗尽,或者采用调试工具上自带的电源导致无法识别,在排除电源供给原因后:
可能由于MCU进入低功耗模式导致的(以下方法为并列关系,利用j-flash擦除效果比较好)
1:在debug内设置成withPre-reset的选项Keil调试时常出现的错误_第4张图片
2:按住MCU RST按键,接着点击Debug按钮,之后马上松开RST按键,就可以发现正常烧录了
3:利用单片机的boot管脚,找到单片机boot0引脚,然后将其置一(与3.3
v短接),点击debug进行烧录。
4:利用j-flash擦除芯片代码,打开SEGGER j-flash
根据 file->new project 选择芯片类型
完成工程后target->connect
连接完成后target->manual program->erase chip 擦除芯片

3能够正常烧录程序,但无法调试

一般常见于芯片首次烧录程序,程序烧录完成后,芯片无法调试,程序指针跑飞,给芯片重新上下电即可解决。

4Shut Down…(调试引脚被占用)

1:拉高boot1进行烧录
2:按住RST,点击烧录按键,接着松开(这招的诀窍在于感觉,要在单片机初始化管脚前打断它,如果你在初始化之前没有延时函数,那么恭喜你,你有一个启动文件的打断时间)

5Cannot Load Flash Programming Algorithm

1:这里没有添加正确的flash,添加即可。Keil调试时常出现的错误_第5张图片
2:一般比较常见的错误是第二种,那就是电源不稳定,有时候用编译器自带的电源供电,会造成这种情况,不同版本的编译器均有差异,所以建议有条件可以选择稳压源或者其他稳定电源供电。

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