[经验]使用Keil MDK+Jlink-OB下载失败的解决办法

简介: [经验]使用Keil MDK+Jlink-OB下载失败的解决办法

最近从Win10系统,换到了Win7系统,所以就把之前安装的各种EDA软件重新安装一遍。在Keil开发一款Cortex-M3内核的MCU程序时遇到了一个问题:使用Jlink-OB下载不了程序。换了之前的Win 10系统,可以正常下载的,说明调试器没问题。最有可能的就是Jlink驱动的版本问题。


问题现象

  • 硬件:ARM Cortex-M3 内核的 MCU + Jlink-OB 调试器
  • 软件:Keil MDK v5.26


编译无错误,进行下载时,提示如下下载失败信息:

* JLink Info: Found SWD-DP with ID 0x2BA01477
* JLink Info: AP-IDR: 0x24770011, Type: AHB-AP
* JLink Info: AHB-AP ROM: 0xE00FF000 (Base addr. of first ROM table)
* JLink Info: Found Cortex-M3 r2p1, Little endian.
* JLink Info: FPUnit: 6 code (BP) slots and 2 literal slots
* JLink Info: CoreSight components:
* JLink Info: ROMTbl 0 @ E00FF000
* JLink Info: ROMTbl 0 [0]: FFF0F000, CID: B105E00D, PID: 000BB000 SCS
* JLink Info: ROMTbl 0 [1]: FFF02000, CID: B105E00D, PID: 003BB002 DWT
* JLink Info: ROMTbl 0 [2]: FFF03000, CID: B105E00D, PID: 002BB003 FPB
* JLink Info: ROMTbl 0 [3]: FFF01000, CID: B105E00D, PID: 003BB001 ITM
* JLink Info: ROMTbl 0 [4]: FFF41000, CID: B105900D, PID: 003BB923 TPIU-Lite
* JLink Info: ROMTbl 0 [5]: FFF42000, CID: B105900D, PID: 003BB924 ETM-M3
ROMTableAddr = 0xE00FF000

640.png

640.png

640.png


问题解决

同样的工程和调试器,换 Win 10 系统,下载调试完美运行。两者的差别就是J-Link 的驱动程序版本问题。原来系统上的驱动程序版本是V6.32i,而现在的驱动程序是 V6.14b,所有很有可能是因为驱动程序版本过低导致的。

640.png


到SEGGER官网,下载对应的 v6.32i 版本的调试器程序。驱动程序这种东西,还是去官网下载放心,避免不明网站捆绑的各种病毒等等。官网的版本还是非常齐全的,还包括其他系统的安装程序,如果使用宽带网络下载速度慢,可以尝试使用手机网络下载


所有版本的Jlink驱动程序下载

www.segger.com/downloads/jlink/#J-LinkSoftwareAndDocumentationPack

或者到文末,点击 阅读原文 进入SEGGER官网下载

640.png


安装完成之后,把JFlash安装目录下的Jlink.exeJlinkARM.dll两个文件替换掉Keil中的同名文件。

640.png


再次打开Keil,可以看到驱动程序已经更新为了V6.32i。

640.png


再次下载,成功!

640.png


总结

当然,使用J-Link下载程序失败的问题,这只是其中一种解决方法,还有其他的降低时钟速率,使用复位管脚 等等,如果遇到类似的问题,要多尝试几种方案。

目录
相关文章
|
消息中间件 负载均衡 监控
【ZMQ PUB模式指南】深入探究ZeroMQ的PUB-SUB模式:C++编程实践、底层原理与最佳实践
【ZMQ PUB模式指南】深入探究ZeroMQ的PUB-SUB模式:C++编程实践、底层原理与最佳实践
4688 1
|
开发工具
Vim 模式切换 | 命令集
Vim 模式切换 | 命令集
660 0
|
3月前
|
缓存 编译器 C++
Keil MDK常见报错与解决方案详细笔记
本文系统梳理Keil MDK开发中常见错误,涵盖编译、链接、下载调试、路径配置、警告处理等八大类问题,含典型错误码(如#5、L6218E)、根因分析及实操解决方案,助力嵌入式开发者高效排错。(239字)
1672 3
|
存储 Serverless API
基于百炼平台构建智能体应用——十分钟构造能主动提问的导购智能体
本文介绍了如何使用阿里云百炼大模型服务平台构建一个多智能体的智能导购应用,并将其部署到钉钉。通过百炼的Assistant API,您可以快速构建一个包含规划助理、手机导购、冰箱导购和电视导购的智能导购系统。文章详细讲解了从创建函数计算应用、访问网站、验证智能导购效果到将商品检索应用集成到智能导购中的全过程,帮助您快速实现智能导购功能。
2661 1
基于百炼平台构建智能体应用——十分钟构造能主动提问的导购智能体
|
机器学习/深度学习 存储 大数据
YOLOv11改进策略【Backbone/主干网络】| ICLR-2023 替换骨干网络为:RevCol 一种新型神经网络设计范式
YOLOv11改进策略【Backbone/主干网络】| ICLR-2023 替换骨干网络为:RevCol 一种新型神经网络设计范式
524 0
YOLOv11改进策略【Backbone/主干网络】| ICLR-2023 替换骨干网络为:RevCol 一种新型神经网络设计范式
|
存储 传感器
Landsat遥感影像数据的批量下载:USGS
本文介绍在USGS网站批量下载Landsat系列遥感影像的方法~
1505 1
Landsat遥感影像数据的批量下载:USGS
|
算法 测试技术
模块化设计具体应该怎么做呢
【10月更文挑战第22天】模块化设计具体应该怎么做呢
|
传感器 数据采集 监控
QModbus例程分析
QModbus例程分析
|
传感器 编解码 IDE
STM32CubeMX ADC采集光照和电压
STM32CubeMX ADC采集光照和电压
2712 3