完美破解Jlink教程,进入ARM世界
2013-01-0311.6万
精华项目
AI 快速预览详细
本文详细介绍了如何破解Jlink以支持ARM芯片的仿真和烧写。文章从调试32位Arduino DUE开始,介绍了如何使用Jlink进行仿真或烧写程序给SAM3X芯片。过程中遇到了Jlink识别为SAM-ICE以及固件升级后的克隆版本提示问题,并提供了详细的解决方案。通过本文,读者可以了解如何解决这些问题,从而顺利进行ARM开发。
|
目前由于在调试Arduino新出的的32位的DUE,然而喜欢挑战自我地想到自己能不能用jlink仿真或者烧写程序给SAM3X 芯片,因此好久没动了的jlink又重新有了它的用武之处,果断下载了最新的AVRSudio 6 1996版本(1996版本内部有arduino 的conf_board)刚开始去SEGGER官网发现jlink果然支持ATMEL的AVRSudio 6里面的一系列ARM芯片,顿时觉着jlink好强大啊!!!安装好了AVRStudio 6 并且插入了jlink,它居然识别成了SAM-ICE,心想这么强大!!!(然后serial number是805306163)再过一会jlink就弹出一个update firmware的窗口,升级之后,segger就发威了,弹出一个界面说我的jlink是 克隆版本,需要下载OEM什么的,blood、blood。。。。相信玩ARM的同学们看到这如果也有同样的经历一定 很不爽吧?那么就让我来详解破解Jlink的步骤吧。。。 |
-
1.jpg (13.54 KB, 下载次数: 21341)





我也是自己很久前遇到这个问题,然后找了各种方法,一个一个试,都不行,最后好不容易成功了,并且做了一定的总结,然后写了这个文章跟大家分享。。。
实在不行,你可以去搜索一下已经破解了的V8固件,然后烧进去,这样最简单,我之前也试过的!可行
SEGGER J-Link Commander V4.08L<'?' for help>
Compiled Sep 17 2009 09:42:18
DLL version V4.08L,compiled Sep 17 2009 09:41:55
Firmware:J-Link ARM V8 complied Aug 1 2012 13:40:47
Hardware:V8.00
S/N:20100214
Feature
:RDI,FlashDL,FlashBP,JFlash,GDFULLVTarget =0.000V
JTAG Speed:5 kHz
J-Link>
上面是JLINK没有连接目标板运行的commander的结果。当使用keil 下载的时候 还是提示是克隆的。
可以参考下这些资料,也许有帮助:http://pan.baidu.com/s/1qWAp6Fi
我们需要做的工作是修改jlink的SN码,当然了在之前的修改V8.bin固件里面也可以完成这一步骤,但修改的相对
麻烦,还得找SN码的OFFset,但是在commander里面直接一个指令就可以很方便的修改:Exec SetSN=xxxxxxxx,
但是这个SN码千万不能是11111117 或 805306163,因为SEGGER正是对这两个固件SN进行了强制校验,修改为其他
值才可以完美地达到我们的目的。这里我给大家两个个我个人找到的SN码:20100214 20060125;到了这里我们就
可以更新firmware了,截止发文时间SEGGER官方最新的是4.58a.
进入到主操作界面,导入上一步已经修整好的V8固件,并且点击send file;这时会出现一个窗口,这里提示是否解锁Flash
(不解锁无法下载),然后等待烧写固件完成再次会弹出一个窗口提示是否写保护(写了保护后不能自动升级,但选择写保
护可以防止程序不被冲掉)点击NO;到了这里就已经完成了烧写固件的所有步骤;关掉sam-ba,重新摘掉jlink并且再插上
Jlink电脑就开始自动识别jlink并且自动安装驱动,我个人当时安装的是4.40版本的firmware,接下来下一步需要注意的是
步骤最好不要颠倒,因为一旦颠倒你就需要重新刷固件了。。。
但是版本2.4的实际操作发现很多时候烧写jlinkV8固件时,开始烧写总是灰色的,选不了,应该是芯片烧写之前的准备
工作不可靠。首先使用winHEX打开 V8.bin 固件,并且找到以0xFF00为起始地址的4个Bytes并将其修改为0xFFFFFFFF,
并在下面不远的地方找到GDBFull,其相对应的十六进制的代码47 44 42 46 75 6C 6C 改成47 44 42 46 55 4C 4C
(将小写的改成大写的,目的是跳过GDBFull)并且保存此修改好的固件文件。
首先给jlink插入USB,保持通电,然后可靠地给Erase短路(用跳线连上),并保持将近20s钟然后断电并且摘掉跳
帽;这时候把跳帽再连上TST的插针,短路,并且插入USB,并且保持将近20s钟(此时电脑显示一个无法识别的硬件设备)
之后断开USB连接,然后再把跳帽摘下来;此时把jlink用USB插入电脑,端口会显示一个GPS的什么东东。到了这一步,
基本工作就完成了,可以进行下一步了!