STM32F10x 学习笔记9(解决JLink 无法下载程序的问题)

本文介绍了一次STM32开发过程中遇到的问题:由于下载了有问题的程序导致无法继续烧写。通过更改跳线进入BootLoader模式,最终解决了JTAG通信异常的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在玩开发板时不小心下载了个有问题的程序,然后就悲剧了。无法往芯片中烧写程序了。每次想下载程序都会弹出如下的两个错误对话框。

然后消息窗口显示如下的错误信息。

JLink info:
------------
DLL: V4.15n, compiled Jun 18 2010 19:55:09
Firmware: J-Link ARM V8 compiled May 20 2010 17:07:46
Hardware: V8.00
S/N : 24446459 
Feature(s) : RDI,FlashDL,FlashBP,JFlash 
 
* JLink Info: Could not measure total IR len. TDO is constant high.
**JLink Warning: No matching core found.
* JLink Info: Could not measure total IR len. TDO is constant high.
* JLink Info: Could not measure total IR len. TDO is constant high.
* JLink Info: Resetting target using RESET pin
* JLink Info: Halting CPU core
**JLink Warning: Received 0 as core Id.
***JLink Error: Could not find supported CPU core on JTAG chain
Bad JTAG communication: Write to IR: Expected 0x1, got 0x7 (TAP Command : 2) @ Off 0x5.

百度了一下,没找到什么有用的信息。还是要自己想办法解决。首先,我的JLinkSTM32 芯片都不大可能就这么坏掉了。多半是烧写进去的软件有些问题,占用了相应的IO 管腿,导致无法利用JLink与之通讯。那就想办法不让这个错误的程序运行了。STM32 中是自带了BootLoader的,切换进BootLoader 中就可以了。具体的方法就是通过BOOT1BOOT0两个跳线来选择启动模式。

断电,改跳线,重新上电,进入BootLoader 模式。用JLink 下载新的程序,下载成功。再断电,把跳线改回来,重新上电,一切正常。问题解决!


***JLink Error: CPU is not halted*** 是指在使用 J-Link 调试器时出现的错误。这个错误通常表示目标设备的 CPU 没有被停止或暂停,而 J-Link 无法与其进行通信。 出现这个错误的原因可能有以下几种: 1. 目标设备的电源没有打开或者没有正确连接。请确保目标设备已经正确供电,并且与 J-Link 调试器连接良好。 2. 目标设备的复位电路没有正常工作。在调试过程中,J-Link 会通过复位电路来控制目标设备的复位状态。如果复位电路没有正常工作,可能导致目标设备无法停止。 3. 目标设备的调试接口配置错误。请确保在使用 J-Link 调试器时,选择了正确的调试接口和目标设备类型。不同的目标设备可能需要不同的调试接口配置。 4. 目标设备的调试模式设置错误。某些目标设备可能需要在特定的调试模式下才能正常工作。请确保将目标设备设置为正确的调试模式。 解决这个错误的方法可以尝试以下几个步骤: 1. 检查目标设备的电源和连接是否正常,确保目标设备已经正确供电,并且与 J-Link 调试器连接良好。 2. 检查目标设备的复位电路是否正常工作,可以尝试手动复位目标设备,然后再次尝试连接。 3. 检查调试接口配置是否正确,确保选择了正确的调试接口和目标设备类型。 4. 检查目标设备的调试模式设置,确保将目标设备设置为正确的调试模式。 如果以上方法都没有解决问题,可能需要进一步检查硬件连接、调试器驱动程序等方面的问题,或者参考 J-Link 调试器的官方文档和支持资源进行故障排除。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值