0
点赞
收藏
分享

微信扫一扫

STM32CubeMX 生成STM32代码下载后J-Link无法调试的问题的分析与解决


平台环境

  • win10 64位
  • Keil MDK5
  • STM32F103RB

 

问题描述

STM32CubeMX 生成STM32代码下载后,J-Link 无法调试

 

问题排查

  1. 硬件是正常的,晶振、BOOT引脚,电平正常
  2. 电源供电可靠。
  3. 下载之前的程序,是可以的。
  4. 因此,是生成的代码引起的。

 

开始怀疑

SWD引脚被占用?发现根本没有配置

最后,在检查代码时发现问题,原来没有配置SWD的情况下,把SWD给禁用了。

 

void HAL_MspInit(void)
{
/* USER CODE BEGIN MspInit 0 */

/* USER CODE END MspInit 0 */

__HAL_RCC_AFIO_CLK_ENABLE();
__HAL_RCC_PWR_CLK_ENABLE();

/* System interrupt init*/

/** DISABLE: JTAG-DP Disabled and SW-DP Disabled
*/
__HAL_AFIO_REMAP_SWJ_DISABLE(); /* 问题点:默认没配置SWD,禁用了! */

/* USER CODE BEGIN MspInit 1 */

/* USER CODE END MspInit 1 */
}

 

 

问题解决

1、配置下SWD的引脚。

2、注释掉 __HAL_AFIO_REMAP_SWJ_DISABLE(); 

 

总结:

1、认真分析问题,问题总有答案

2、做嵌入式软件,要时不时的注意基本经验的积累,提高效率。

 

举报

相关推荐

0 条评论