关于J-LINK升级最新固件后无法连上的一点分析
2014-10-30 23:06
393 查看
关于J-LINK升级最新固件后无法连上的一点分析
昨天升级了最新的 Keil MDK 4.53,怕它老是提示 J-Link 要升级,就去 SEGGER 的网站下了个最新版的 J-Link 软件包(4.46F 版的),
装好后运行 J-Link Commander 提示要升级固件。以前一直是刷的,没有问题,
这次竟然升级后连不上仿真器了。提示
"Communication timed out: Requested 1 bytes, received 0 bytes !"。
SEGGER 终于开始玩花招了。
到 Keil 里打开了以前的一个工程,发现竟然还能调试,
一看那 DLL 的版本是 4.40C 的,看来是在 DLL 里做了些手脚。
今天用 IDA 跟了一下 J-Link Commander,并对比了一下两个动态库的差别,
发现新版的在打开 J-Link 函数的过程里多了两个调用。
前一个判断了一下仿真器的功能字符串里是否有 GDBFull,
有就会多一步 USB 通讯,超时的就是这一步操作;
后一个通过序列号枪毙了一些老的(被偷的?)J-Link。看了一下 GDBFull 这个字符串,
只在这里用了一次,将其全部改为大写,发现可以连上了。
另外,序列号为 11111117 和 805306163 的会强制校验 GDBFull 功能。
大致上猜了一下,可能是 SEGGER 更新了一下 GDBFull 功能与序列号的绑定算法,
下面的固件里也应该改过了,那一步 USB 通讯就是下面返回上来的认证结果,
所以接收的只有一个字节。GDBFull 这个功能貌似从来没有用过,反正我没有用到过。
节约空间资源,删掉了下载。具体改法就是找到那个字符串,改成别的就行了。
相关文章推荐
- 关于OTA升级从高版本到低版本升级后,数据库无法降级引起的异常分析
- TP-LINK FAT AP无法远程升级固件
- 中国移动关于百宝箱升级平台的最新调整
- C#关于"该进程无法访问文件,因为该文件正由另一进程使用"的错误的一点心得(示例)
- 关于WAMP出现无法启动的一些分析以及解决思路
- 关于++与+=操作的一点分析
- 最新关于“无法访问 Windows Installer 服务”的解决办法
- 【分析】关于Windows下ShellCode编写的一点思考
- 实现Winform应用系统自动升级 ---------关于服务器端配置文件以实现的一点总结
- 关于谷歌中国的最新声明以及一点联想
- 关于空间分析的一点小思考
- 关于并行程序分析的一点思考
- 关于GPRS设备无法读取SIM卡的分析!
- 关于Iris网络流量分析监测工具对本地TCP无法抓包的问题
- android 固件升级/复位实现方法分析
- 关于C/C++中指针做形参的一点小分析(转)
- 关于风险分析(Risk Analysis)的一点见解
- 关于WINXP中MP10无法升级到MP11的解决办法
- 关于C/C++中指针做形参的一点小分析
- 关于VB 6 中 DoEvents 导致主窗体关闭后程序无法退出的分析