JLINK更新固件

不管你信或不信,我们手中的JLINK大部分都是盗版的。既然是盗版的,可能会因为一不小心升级了固件导致JLINK不能用了,或者提示克隆(The connected emulator is a J-Link clone ......),然后我们可以在网上找到很多关于JLINK如何刷固件的文章,但是跟着网上的步骤做,很可能你会先遇到清除JLINK原有固件后电脑无法识别JLINK,刷完固件后提示克隆无法使用,或者是刷完固件后无法修改SN。很不幸,上面的问题我都遇到了。。。。。。

下面介绍下本人最终如何将自己的JLINK固件刷回来的步骤。

准备如下:winHEX、sam-ba JLINK 4.50l(不需要卸载自己原有的其他版本,但这个版本请一定安装)、Jlink V8固件一个(所有准备材料的下载地址)

1.清除jlink原有固件(步骤一定要正确,错了的话建议从头开始)

JLINK更新固件_第1张图片JLINK更新固件_第2张图片

(1)首先给jlink插入USB,保持通电;给Erase短路(用跳线或者镊子连上),并保持至少5s,去除跳线,然后拔掉USB下电;

(2)给TST短路(用跳线或者镊子连上),然后插入USB上电(此时电脑显示一个无法识别的硬件设备,不用管它),并且保持至少10s之后断开USB连接,然后再去除跳线;

(3)把jlink用USB插入电脑,到了这一步,基本工作就完成了,可以进行下一步了!

2.修改jlink V8固件

首先使用winHEX打开 V8.bin 固件,并且找到以0xFF00为起始地址的4个Bytes并将其修改为0xFFFFFFFF(如果不修改这个,SN修改会提示无法重写),并在下面不远的地方找到GDBFull,其相对应的十六进制的代码47 44 42 46 75 6C 6C 改成47 44 42 46 55 4C 4C (将小写的改成大写的,目的是跳过GDBFull)并且保存此修改好的固件文件。

3.烧写jlink V8固件

(1)安装sam-ba(记住安装路径)后,查看驱动是否安装正常,打开sam-ba v2.9

JLINK更新固件_第3张图片

如上图,选择Select the connection,如果选择列表中没有\usb\ARMx,则说明驱动没有安装好,在设备管理器那边肯定有一项是打感叹号的(一般是在通用串行总线控制器里面,不排除有例外)。

JLINK更新固件_第4张图片

鼠标右键感叹号的设备,选择“更新驱动程序”,选择“浏览我的计算机以查找驱动程序软件”,跳到下一个页面,点击“浏览”,选择sam-ba的安装路径,会弹出警告,不管怎么说,我们肯定是要选择安装的(win8及以上的版本可能需要先设置下驱动安装免验签名,如何设置请百度),更新结果可能提示成功,也可能提示失败,先不管,拔插USB,重新打开sam-ba v2.9,看下能找到\usb\ARMx就表示安装完成。

(2)拔掉USB,打开SAM-PROG v2.4,点击“Browse”,选择上面修改好的固件,然后勾选“Set Security”,这时候“Write Flash”按钮应该是灰色的。

JLINK更新固件_第5张图片

(3)插入USB,“Write Flash”按钮自动变成可点击状态,点击“Write Flash”,观察“Status”,直到“In”项不再有正在下载过程,表示下载结束,拔插USB。到此固件烧写完成。

4.修改jlink V8 S/N并升级固件

(1)安装JLINK 4.50l(其他版本可能无法设置SN,不需要卸载自己原有的JLINK),打开JLINK 4.50l的jlink commander,这时会跳出一个界面叫我们更新最新的firmware,到这里一定先不要更新,我们需要做的工作是修改jlink的SN码,输入指令exec setsn=20060125,提示OK。然后打开自己原有版本的JLINK的J-link Configurator,按如下步骤更新固件

JLINK更新固件_第6张图片

至此,JLINK固件刷新完成!!!

 

Exec setsn=xxxxxxxx,但是这个SN码千万不能是11111117 或 805306163,因为SEGGER正是对这两个固件SN进行了强制校验,建议使用20060125,我设置过99999999更新固件时失败了。

 

你可能感兴趣的:(JLINK)