32位MCU J-Link使用问题汇总
在我们使用J-Link对MCU进行仿真调试时,通常会遇到设备无法识别或识别设备无法下载等问题,下文是我对遇到问题的汇总及解决方案。
J-Link问题主要分为两类:一、首次下载无法识别设备或识别设备无法下载;二、二次下载无法识别设备
一、首次下载无法识别设备或识别设备无法下载
1、识别设备无法下载
该情况可能是没有安装对应芯片pack包或没有正确选择芯片内核类型导致的,正确安装pack包并选择内核类型,如下图(以CH32F103为例)
2、无法识别设备
检查接线是否存在问题,当使用SWD下载方式时,注意接VCC、GND、SWCLK、SWDIO四根线。
注意J-Link版本问题,有可能J-Link版本过低导致无法识别芯片设备
二、二次下载无法识别设备
1、移植或下载程序后导致二次下载无法识别设备,检查移植程序时钟和当前芯片时钟是否匹配,若不匹配,或可导致无法识别设备。当遇到该情况时,解决方法如下:
a、可将BOOT0接VCC,或可识别设备,选择全擦,下载正确设备即可。
b、可使用ISP工具下载程序,下载成功后可再次使用J-Link下载
2、当程序含有执行睡眠操作时,若芯片睡眠,内核时钟关闭,可导致SWD无法通讯。当遇到该情况时,解决方法如下:
a、可将BOOT0接VCC,或可识别设备,选择全擦,下载正确设备即可。
b、可使用ISP工具下载程序,下载成功后可再次使用J-Link下载
3、在使用STM32CubeMX编写程序下载时
注意配置STM32CubeMX SYS->Debug为Serial Wire:
重新生成工程, 编译, 仍然设置为SW口下载调试, 然后按下STM32的复位按键,保持按住复位按键, 点击Keil的下载按钮, 此时弹出窗口:
点YES, 约1s后松开复位按键, 此时应该可以下进去程序了. 如果失败, 可以多尝试几次.