关于keil uvision5 Debug调试和调试STM32HAL库出现的问题

在使用Keil5调试时,发现点击Debug session调试按钮后,
**调试箭头发现不是指在main函数体而是指向disassembly汇编代码区**,
这就导致我们无法调试我们的代码。以下是我的解决方法:

1.点击options for target魔法棒配置目标,选择Debug->再如下图所示勾选红框部分。
关于keil uvision5 Debug调试和调试STM32HAL库出现的问题_第1张图片
2.再选择Output->勾选Debug information->点击ok.关于keil uvision5 Debug调试和调试STM32HAL库出现的问题_第2张图片
这就可以点击Debug session完成从main函数体进行调试代码了。
当我在
使用STM32HAL库进行编写程序
完成后,使用keil5进行调试代码时,点击RUN后,突然弹出
cannot access target,shuting down Debug session
错误窗口,如下图所示。关于keil uvision5 Debug调试和调试STM32HAL库出现的问题_第3张图片
第一时间以为是自己配置目标信息又没配置到或者配置错误了,于是找度娘聊了一番,该改的地方改了该配置的配置了但是错误窗口还是未能解决。于是我决定进行单步加调试下程序看是否是代码导致的,最后找到错误源,如下图所示。关于keil uvision5 Debug调试和调试STM32HAL库出现的问题_第4张图片
在stm32f1xx_hal_msp.c文件中有这么一句__HAL_AFIO_REMAP_SWJ_DISABLE();该语句使JTAG-DP和SW-DP同时失能了,
我用的是STLINK下载器,使用SW Device的是SW-DP。这就导致了调试device失能关闭就不能调试了,注释或删除该语句,点击调试按钮->点击RUN发现错误窗口就不会出现了。

你可能感兴趣的:(STM32调试问题)