MDK4.6配J-LINK调试时提示升级,升级完成后,弹出下图提示框后,软件自动退出。

  提示原因:由于MDK4.6能识别山寨JLINK导致。网络牛人分析如下:

  今天将Keil MDK升级到了V4.54,使用J-link下载程序,发现MDK自带的Jlink驱动已经更新到V4.5版本,然后MDK提示有J-Link新固件,这之前也遇到过这类提示,然后我选择了升级j-link固件。升级之后,悲剧的事情发生了:j-link再也不能连接设备。

  到网上找了相关资料,发现有一个很牛的同学用IDA跟踪了最新J-link驱动和V4.4驱动的dll文件,发现“新版的在打开 J-Link 函数的过程里多了两个调用。前一个判断了一下仿真器的功能字符串里是否有 GDBFull,有就会多一步 USB 通讯,超时的就是这一步操作后一个通过序列号枪毙了一些老的(被偷的?)J-Link。看了一下 GDBFull 这个字符串,只在这里用了一次,将其全部改为大写,发现可以连上了。另外,序列号为 11111117 和 805306163 的会强制校验 GDBFull 功能”。(网页地址:http://www.cppblog.com/crhackos/archive/2012/05/30/175483.html 看来V4.53已经有这个问题了)。然后他使用了修改动态链接库里面的字符串GDBFull的方法(修改办法是用类似winhex程序打开库文件,搜索那个字符串然后改掉)。

  但这种方法还有个问题,就是在每次仿真时,都会提示Jlink版本更改的警告

  这里我提供一个简单方法:将原来能下载的keil MDK程序版本中keil\ARM文件夹下的Segger文件夹内容拷贝到新安装的MDK相同位置,替换掉原来的。重启J-link即可

有条件的,使用正版就不会有上面问题,正版正版我也想有个。

  我的解决办法:

  下载这个文件,具体方法见压缩包里的readme:http://yunpan.cn/QIJZqtkSRv79a

在网上收集的其它解决办法:

  1、重新烧写固件到Jlink,将原来V8.bin固件用Winhex打开,并找到偏移地址为0xff00为首地址4bytes修改为其他值,只要不为原来的11111117 或 805306163即可,因为更新后的固件对这两个固件SN进行了强制校验,修改为其他值即可完美解决问题,同时将0xff30后面的GDBFull对应改成GDBFULL,对应ASCII码为47 44 42 46 55 4C 4C,目的是跳过GDBFull检查。

  1.1 另外一种灵活的修改SN的方法:将0xff00为起始地址的4Bytes修改为0xffffffff,同时将0xff30后面的GDBFull对应改成GDBFULL,对应ASCII码为47 44 42 46 55 4C 4C,目的是跳过GDBFull检查,保存修改好的固件文件。更新固件后,打开Commander,不理会更新,在Jlink命令后面输入exec setsn = xxxxxxxx,所输入的sn为16进制,否则更新升级时会出现错误。 建议定义成你更新的时间,如20121121,这样就能追溯掉固件上次的时间。

2、此时安装了Segger4.65d的版本,打开JLink Commander,按要求提示更新,更新完之后即可正常使用最新的版本了。

  PS:CM0加入读保护后,Segger的Unsecured Chip功能不能正常使用了,还未找到办法。跟ST的FAE联系后,建议使用ST Link的STVP来对Option Byte进行擦除,对RDP进行擦除。

  更新固件之后,实测发现更容易掉固件了,之前的固件在同样的硬件平台使用半年都不掉一次,更新之后,平均估计半个月就会掉。还没找到问题所在,这样推理的话,只是跟固件相关。抑或是新的固件对硬件操作上有所更改所致?

 注意:同时修改GDBFull为GDBFULL或其他字符,根据目前实测,一个月不掉固件,所以修改的地方除了SN,同时应当修改GDBFull字符。解决之前只修改SN后,常掉固件的问题。

MDK4.6和J-LINK调试出现问题,软件自动关闭,在网上收集整理的解决办法的更多相关文章

  1. Xamarin.Android 在VS下调试时提示 In mgmain JNI_OnLoad 程序“Mono”已退出 解决办法

    原因是使用了破解版的 Xamarin,调试时不能使用共享库

  2. JS 调试中常见的报错的解决办法

    报错:Uncaught SyntaxError: Unexpected token o in JSON at position 1 at JSON.parse (<anonymous>) ...

  3. Linux x64 下 Matlab R2013a 300 kb 脚本文件调试的 CPU 占用过高问题的解决办法

    (1) 系统+软件版本 CentOS 6.5 (Final), 64 位,内核initramfs-2.6.32-431.5.1.el6.x86_64, MATLAB Version: 8.1.0.60 ...

  4. VS2003"无法启动调试 没有正确安装调试器"的解决办法

    VS2003"无法启动调试 没有正确安装调试器"的解决方法 在用VS2003做项目的时候,经常调试程序,但是有时候回出现如下问题“无法启动调试,没有正确安装调试器,请运行安装程序或 ...

  5. 总是弹出visual studio 实时调试器 三种解决办法

    最近服务器老是弹出visual studio 实时调试器很是郁闷呀.关还关不掉.怎么解决呢 ,现像如下图所示: 下面我们一起来分析一下这种情况的原因: 弹出应用程序: Visual Studio 实时 ...

  6. vs调试断点进不去的解决办法

    原创文章,禁止转载. 断点进不去的解决办法:  确认是debug版本  确认生成了调试信息  确认在编译和连接的工程配置中指定了相同的匹配的pdb文件名,而不是默认的vc100.pdb等名字(无关) ...

  7. Silverlight无法启动调试,错误“Unable to start debugging. The Silverlight Developer Runtime is not installed. Please install a matching version.” 解决办法

    今天调试Silverlight出现了以下错误: 意思是“无法启动调试,因为Silverlight Developer Runtime没有安装,请安装一个匹配的版本”.但是按Ctrl + F5可以调试运 ...

  8. com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 解决办法

    09:00:30.307 [http-8080-6] ERROR org.hibernate.transaction.JDBCTransaction -JDBC begin failed com.my ...

  9. 分模块的maven项目调试时报Source not found的解决办法

    一.背景 通常在开发中,我们经常会拆分我们的项目为一个个maven子工程,然后用一个父项目进行集成,并且子项目还会继承自父项目.当我们对这些项目进行debug调试的时候往往会在eclipse中出现so ...

随机推荐

  1. 函数 swift

    func add(a:Int,b:Int)->Int { return a+b }

  2. color the python console text

    //install termcolor module cd \ cd python27 cd scripts pip install termcolor pip install colorama // ...

  3. [转载]ubuntu下如何更改mysql数据存放路径

    http://www.gaojinbo.com/ubuntu%E4%B8%8B%E5%A6%82%E4%BD%95%E6%9B%B4%E6%94%B9mysql%E6%95%B0%E6%8D%AE%E ...

  4. 学习Linux第七天

    1.shell echo $HOME 默认在shell中编写的变量全部是局部变量,如果重新打开console的话,那么这些变量将全部丢失,全局的变量可以写在文件~/.bashrc文件. 2.判断 !/ ...

  5. Weblogic环境下hibernate、antlr类加载冲突问题分析及解决方案

    公司应用项目在客户部署时经常遇到此类问题,为避免实施部署时增加配置量,花了点时间找到了此问题的终极解决办法(方案二.修改org.hibernate.hql.ast.HqlLexer的源代码).在此进行 ...

  6. CSS3选择器学习笔记

    CSS选择器总结: 一.基本选择器 1.通配选择器:[  *  ]        选择文档中所以HTML元素. *{margin: 0;padding: 0;} /*选择页面中的所有元素并设置marg ...

  7. 剔除数组或List中重复的元素

    import java.util.Arrays; import java.util.Collection; import java.util.HashSet; import java.util.Lis ...

  8. 802.11 wireless 二

    802.11 wireless 2wireless spectrum(无线频谱)1.无线网络使用RF(射频)信号2.无线电也是电磁波3.频谱基于波长被划分,归为多个类型4.无线网络被归为微波段(mic ...

  9. poj 1985 Cow Marathon 树的直径

    题目链接:http://poj.org/problem?id=1985 After hearing about the epidemic of obesity in the USA, Farmer J ...

  10. 【BZOJ】【3522】【POI2014】Hotel

    暴力/树形DP 要求在树上找出等距三点,求方案数,那么用类似Free Tour2那样的合并方法,可以写出: f[i][j]表示以 i 为根的子树中,距离 i 为 j 的点有多少个: g[i][j]表示 ...