关于Keil5 jlink 与DFP包安装及排错经验笔记

  • 折腾Keil5(MDK)起因及目的

    • 起因(比较啰嗦,可以跳过)

    由于年后项目开发需要使用jlink来对nRF51822这款蓝牙Soc进行程序烧录调试,而烧录51822需要的工具包括nrfgostudio 及nRF5x-Command-Line-Tools还有相应的pack包,本来之前只玩玩STM32F103系列开发板都是使用串口下载调试,不怎么用到jlink,现在开始要用jlink开发,就上淘宝买了个百来块的jlinkV9(铁定是盗版无疑,不过这个还挺好用,在我手上没出问题,过段时间去看店家都找不到了),用过几次调试都没问题,后来有一次学弟借用了一下,还回来时给了个壳子上标着E-link(实际是个盗版jlinkV8)的给我,结果烧程序马上报错是盗版,手头也没有可用的替代品(不找学弟要回来是因为学弟也在用那个调试51822,我们一起搞这项目),导致那段时间我一直无法进行程序调试,后来不死心刷到帖子说重新刷固件能恢复功能,结果脑子一热就通宵搞起来了,好死不死我刚组好不到一个月的台式机为了系统精简装了个Win10LTSC系统,导致刷固件要用的软件sam-ba XXX 时报错部分系统驱动没有,去网上找解决方案时误入歧途,下了个适用XP系统的驱动文件导入win10系统驱动目录进行覆盖,还忘了给系统驱动备份,这下把win10搞崩了,花了两三周的空闲时间去网上找不重装系统(系统里下载好了很多开发用资料和软件,且软件也大都装在C盘,重装就要重头来过)的系统驱动文件恢复解决方法,最后实在没辙了,只能暂停51822的开发,没事时用串口调调32程序,就这样过了两个多月,学弟项目搭好了框架毕业了,但很多细节还留着没搞,只能自己上了,这时jlinkV9又回到我手上了,在实验室就可以进行开发了,但那个盗版V8还扔在我寝室吃灰,后面觉得寝室组了台式机却不能用jlink调试开发简直是浪费,一狠心重装了系统并配了环境(又浪费了小一周的科研时间),但是那个V8上次刷固件到一半,没有更新sn码和固件(这是后来刷成功恢复了之后才明白的),还是只能识别不能用,就又吃灰近一个月,直到最近想学学RTOS,非jlink不行了,所以从昨晚搞到现在,各种查资料配环境,终于把这个盗版jlink复活了,在这个过程中学习到了很多以前不了解的东西,对以后的硬件开发应该是非常有意义的,故把其中经验写下来以作纪念。

    • 目的

    写作此文,目的在于:

    1. 搞懂Keil5用jlink调试时的一些莫名其妙的问题如何通过版本控制来避免
    2. 了解正确的盗版jlink复活完整路线及易出问题之处
    3. 熟悉keil5对DFP包的安装及安装好后版本兼容问题报错的处理办法
  • keil5和jlink驱动版本越新越好?

    相信有些用keil开发的小伙伴和我以前的想法一致,就是版本越新,Bug越少、越稳定,如果你所有的开发设备都是正版的话,这么说确实有道理,但随着SEGGER对国内盗版jlink的打击和在软件端做的各种保护措施,对热爱动手又手头拮据的学生党玩家来说可就不这么想了,正版教育版jlink仿真器四五百的价格这明显很不符合我们的国情(读研每月也才600补助,合着就值一个jlink-EDU?),既然新版软件盗版防护做的挺好,那哪个版本的keil5和SEGGER才比较符合国情呢?(这里不管Keil4是因为很多官方SDK都提供keil5了,你还用keil4?keil5能向下兼容但keil4可不能向上兼容)根据网上众人实验结果和我的有限经验来看,keil5.25版本及以上(我试过最新的5.35版)都容易出问题,比如进行jlink设置时报错 error:cannot load driver JL2CM3.dll 问题,这个有时候根据网上经验在系统变量里添加路径也解决不了,所以想要对jlink兼容性好,别装太高版本的keil5了,根据我的经验,**keil5.14和jlinkV4.9是对V7、V8系列通用的,按高版本向下兼容原则,那V9甚至V10也肯定能用,**同时jlinkV8调试器完整刷好固件后,jlink驱动在4.9-5.12f版本之间测试都是没问题的,但更新版还没进行尝试,网上说是不管多新都可以的,不过建议不要过于追新,以免出问题

  • jlinkV8复活完整路线

    由于网上已有较为完整的教程,而我刷成功后也不想再为了截图折腾一边,因此就上一则我参考的较详细的链接: Jlink V8重刷固件_ChenYX的博客-CSDN博客_jlink v8刷固件 ,其中我使用的是sam-ba_2.12,固件jlink-v8.bin和jlinkV4.9驱动都会随本文件一起存放( (25条消息) jlink驱动及刷固件工具.zip-电信文档类资源-CSDN下载 ),在根据上述步骤刷固件时,有以下几个点需注意:

    1. 刷固件之前先卸载以前版本的jlink驱动(如果keil5在设置jlink下载时弹出error:cannot load driver JL2CM3.dll,一定先还原到jlinkV4.90驱动,再重启keil5试试jlink能否识别,一般不识别的话还要再卸载版本较高的Keil5,重新安装5.14版本keil5才能使用),再安装我提供的jlinkV4.90驱动,这样可以确保之后操作的成功率。
    2. 在该链接文章 步骤2:恢复BootLoader 中,如短接拉高TST操作时间不够,或者中间未一直可靠短接,可能会导致BootLoader恢复至Flash中出现问题导致下一步操作时,把jlinkV8连上电脑却在Win10、win7等系统下识别不了,一直无法安装驱动的问题,从而即使sam-ba_XXX软件安装上了也检测不到要刷的jlinkV8设备(我昨晚就在这一步卡了非常久,弄到深夜一点半也没弄好,早上又借室友win7系统电脑试了很久,重新走一遍刷固件流程才发现问题在此),所以在这一步卡了,驱动安装不了,可以试着多来几遍短接TST,实在不行再去换个win7系统电脑试试(XP系统电脑估计难找了,虚拟机感觉太费劲了,根据我的N次经验来看,在Win10和Win7上都成功识别安装过驱动,这一步驱动只要安好后能被sam-ba_XXX软件识别即可,不要求驱动必须装正确,也就是不能在设备管理器中看到插上jlinkV8后提示未知设备或无法识别的设备警告)
    3. 另一个注意的点就是 步骤3:下载固件 中,第3点和第4点一定要严格执行(即弹出的菜单提示一定是先YES后NO),不然后面的sn序列号更新步骤无法完成,jlinkV8即使能安上驱动可能也无法在keil5中正常使用(我第一次刷固件参照的教程就没有修改jlinkV8序列号的步骤导致jlinkV8仍无法正常使用)
    4. 除以上两点容易出错导致不成功,网上的很多经验贴说不到点子上或者不适用外,剩下步骤按该链接文章来即可
  • keil5安装DFP包报错 Loading PDSC Debug Description Failed for STMicroelectronics STM32F1XXXX 等类似问题

    这两天因为修复jlinkV8和重装keil5,引出来很多问题,在完成上述步骤后,安装STM32F1系列的DFP包时就突然弹出了Loading PDSC Debug Description Failed for STMicroelectronics STM32F1XXXX的报错信息,这是因为KEIL版本(5.14是15年发行)相对安装的DFP PACK包版本发行日期较早,引发的提示信息,但是我们的keil5为了兼容jlinkV8又不能升为较新版本,那么为了排除该错误提示(不影响hex文件编译),可以进keil5的包管理界面将相关器件的较新版本DFP 包先移除以使用较低的不报该错误提示的版本,如果项目需要使用最新版的DFP 包且希望关闭该错误提示,则可以把Keil5安装目录下的…\ARM\Pack\.Download(已下载好的离线DFP包安装时会复制到该路径进行解压) 或…\ARM\Pack\.web(keil5包管理界面下载安装的DFP包在该路径进行解压)下的STM32F1xx_DFP.XXX.pdsc文件中,删除行“Message(2, “Not a genuine ST Device! Abort connection.”);” ,如果想切换至低版本,也可在此处删除高版本的.pack和.pdsc文件,再进包管理界面选择低版本的包以规避该错误提示,注意排查错误时一定要按照先排除新版本DFP包再排除次低版本DFP包以排除掉导致该错误提示出现的包版本,当然卸载高版本也可以直接在包管理中操作而不直接进目录中删除(缺点在于用不到的包不会被清理掉,浪费空间)

关于Keil5 jlink 与DFP包安装及排错经验笔记相关推荐

  1. STM32安装Keil5、芯片支持包、startup启动文件(启动过程分析)、建立工程、烧写

    参考:stm32入门之keil5的安装以及第一个工程的建立 作者:SKY丶丿平才 发布时间: 2020-12-06 17:08:30 网址:https://blog.csdn.net/weixin_4 ...

  2. keil5添加c51芯片包

    要在Keil5中添加C51芯片包,可以按照以下步骤进行操作: 首先,在Keil5中打开一个新的工程或者打开一个已有的工程. 在菜单栏中选择"Project"(项目),然后选择&qu ...

  3. etcd 笔记(02)— etcd 安装(apt 或 yum 安装 、二进制包安装、Docker 安装 etcd、etcd 前端工具etcdkeeper)

    1. 使用 apt 或 yum 安装 etcd 命令如下: sudo apt-get install etcd 或者 sudo yum install etcd 这样安装的缺点是:安装的 etcd 版 ...

  4. python pycharm 包 安装问题

    20211006 https://blog.csdn.net/anshuai_aw1/article/details/83749395 windows pyfm安装 20210930 在pycharm ...

  5. 编程模板-R语言脚本写作:最简单的统计与绘图,包安装、命令行参数解析、文件读取、表格和矢量图输出

    写在前面 个人认为:是否能熟悉使用Shell(项目流程搭建)+R(数据统计与可视化)+Perl/Python等(胶水语言,数据格式转换,软件间衔接)三门语言是一位合格生物信息工程师的标准. 之前分享过 ...

  6. VRPM包安装失败解决方案:had non-zero exit status

    VRPM包安装失败解决方案:had non-zero exit status 目录 VRPM包安装失败解决方案:had non-zero exit status #VRPM包安装 #找到VRPM包的文 ...

  7. R语言libPaths函数获取或者设置包安装的路径实战

    R语言libPaths函数获取或者设置包安装的路径实战 目录 R语言libPaths函数获取或者设置包安装的路径实战 #.libP

  8. 解决编译nginx模块与rpm包安装的nginx不兼容问题

    环境:centos  nginx-10.0.1 现象: 自己开发一个nginx模块,放到rpm包安装的nginx服务器上启动服务时报错如下: 30490#0: module "/usr/li ...

  9. 基于centos4.4的mg手工下载RPM包安装顺序记录

    1.解决网络慢导致yum方式安装问题: [root@spammail ~]# yum install -y ntp Setting up Install Process Setting up repo ...

最新文章

  1. 系统架构图怎么画_基于ROS的移动机器人上层系统架构分析
  2. python读取xlsx文件pandas_python-如何使用iPython中的pandas库读取.xlsx文件?
  3. 合并重定向 command file 21 解析
  4. Windows编程之互动与动画
  5. js mysql json字符串转数组中_php数据库数据转换为js中的json对象
  6. win10安装oracle11g 服务端及配置详解
  7. 【每日算法Day 80】所有人都会做的入门题,高级解法来了!
  8. JS学习总结(3)——运算符/字符串
  9. python可视化(2-1)绘图对象(条形图、直方图、柏拉图)
  10. supersu二进制更新安装失败_SuperSU更新二进制文件原因底层分析--内附官方文档...
  11. SVN :one or more files are in a conflicted state 一个或多个文件处于冲突状态
  12. Springboot面向全球电子商城系统3v50f计算机毕业设计-课程设计-期末作业-毕设程序代做
  13. xcode 显示代码后缀名
  14. html play控件,HTML DOM Audio play()用法及代码示例
  15. Notability for Mac(笔记软件)
  16. 偶感 - 写在细雨朦胧的早晨
  17. 如何安装和使用 Windows XP 的故障恢复控制台
  18. data-toggle,data-target,data-dismiss
  19. 北邮软工硕士复试笔试科目
  20. 程序设计思维与实践 Week8 作业 C - 班长竞选

热门文章

  1. 通过负载均衡器+域名实现容灾切换-(5)GSLB SLB NLB概念
  2. 自然辩证法小论文选题_自然辨证法论文题目
  3. 2022-2028年中国轮胎压路机行业市场运营格局及未来前景分析报告
  4. 欧姆龙、西门子、松下、台达、三菱、施耐德各种编程视频教程
  5. 黑客攻防学习笔记 入门篇
  6. HTML非主流标签使用
  7. PinYin4j的基本使用 Java获取中文转拼音、获取中文拼音的首字母缩写
  8. 3d网上渲染平台是怎么渲图的_云渲染流程详解!
  9. 基于餐饮管理系统的软件体系结构设计读书报告
  10. ply las pcd等一些常见的基本点云文件格式的读写方法