STM32 JTAG失效恢复

在使用JLinkOB调试STM32L151时遇到JLink无法启动CPU核心的错误,原因是程序中修改了JTAG端口作为普通IO。解决方法包括:1) 修改BOOT引脚启动从system memory加载程序覆盖;2) 利用芯片RST在扫描JLink时保持复位状态快速烧录;3) 使用J-Link STM32 Unlock工具解锁。JTAG引脚在复位时有内部上下拉电阻,调试器通常需要控制目标MCU的复位引脚以确保正常连接。
摘要由CSDN通过智能技术生成

昨天调试一块STM32L151的板子,用的是JlinkOB,调试时,出现下面的错误:
JLink Error:could not start CPU core.
JLink Warning:CPU could not be halted
这里写图片描述
这个错误出现的原因是,程序中有修改JTAG端口(PA13,PA14)的语句,当把JTAG当做普通IO口时,JLink就不能返回调试信息,JLink就读不回相应寄存器的值了。

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE);
    GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);    //完全失能JTAG/SWD

解决思路:
我们刚才既然把“错误”的程序写入了用户Flash,那么我们就用“正确”的程序去覆盖之间的程序。
解决方法:
1.修改BOOT0=1,BOOT1=0,STM32从system memory启动,这时用串口将程序下载进去,程序就会写入用户Flash&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值