Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2509862
  • 博文数量: 319
  • 博客积分: 9650
  • 博客等级: 中将
  • 技术积分: 3881
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-27 21:05
文章分类

全部博文(319)

文章存档

2017年(5)

2016年(10)

2015年(3)

2014年(3)

2013年(10)

2012年(26)

2011年(67)

2010年(186)

2009年(9)

分类: IT业界

2012-08-20 16:59:18

http://blog.csdn.net/zhzht19861011/article/details/7741928

今天将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即可。


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


PS:这个版本的MDK是支持中文编码的,中文汉字和符号均可显示,设置见下图:

阅读(4823) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~