jlink v8固件升级
翻出以前在学校用过几次的jlink,想看看还能不能用,插电脑上可以正常识别,安装完驱动打算试试时提示固件升级,没有多想就直接升级了。但是固件升级失败,重新插拔指示灯不亮也无法识别。在网上搜索一番后确定已经变砖块不能用了,如果想让其正常工作必须重新刷固件,在linux下试了一下,无法写入固件,最终只能安装xp虚拟机操作,折腾了一天将固件升级成功。在这里记录一下升级的过程和中间遇到的问题。
丢失固件的表现:Jlink的指示灯不亮
在linux下使用Jlink时,遇到提示固件升级的情况,建议不进行升级,因为Linux系统下由于USB相关驱动的问题,可能导致升级失败,原固件丢失变“砖头”
我的Jlink v8
- 主芯片:
AT91SAM7S64
- ERASE: 删除旧的固件
- TST: 使其进入可编程模式
升级环境
jlink固件升级网上教程很多,也有很多人说自己操作成功的,但是很多都没有说明操作系统环境。我最开始是在win10虚拟机中操作,SAM-BA刷固件时总是无法弹出升级界面,更好多个软件版本和驱动都不行,最后经过网上搜索基本确定是jlink在编程模式下的驱动安装问题。
win10不行就直接安装win xp虚拟机,网上很多人提到xp下升级,包括一些问题上面的截图也是xp风格就选择了xp。在xp下驱动安装也存在问题,没有正确的驱动程序,最后也是试了多个版本后才成功。
操作系统:Windows XP
升级所需软件包:
1 | $tree -L 1 |
固件升级流程
使jlink进入编程状态
第一步:
- 用 USB 线连接 JLink 与 PC,JLink供电
- 可靠短接,图中“ERASE”处的两个过孔,保持 30 秒
- 拔掉 JLink 与 PC 间的 USB 线,JLink断电
- 断开“ERASE”处的短接
第二步:
- 可靠短接,图中“TST”处的两个过孔
- 用 USB 线连接 JLink 与 PC,JLink 供电
- 保持 120 秒(不要放开“TST”处短接)
- 拔掉 JLink 与 PC 间的 USB 线(不要放开“TST”处短接)
- 至此,断开“TST”处的短接
经过以上两个步骤后,重新连接jlink,可以看到以下usb信息,表明已经进入编程模式
1 | $lsusb |
查看并更新驱动
驱动来源:
一种:直接拷贝升级包中的编程模式下驱动来自SAM-BAv2.18
目录下驱动
另一种:安装SAM-BA v2.18 for Windows.exe
,在其安装目录下驱动,二者为相同的文件
在设备管理中找到usb转串口的设备
或者没有驱动的设备
,更新驱动
(如果更新不成功可以先卸载再安装)选择从列表指定位置安装
,下一步,选择sam-ba-2.18的安装目录中的drv
确定,下一步,弹出驱动列表选择驱动atm6124开头的驱动
,进行下一步安装
驱动安装成功后将在通用串口总线控制器
中显示,表明这个时候驱动已经安装成功并且可以使用
驱动安装成功后,如上图并在红框处出现包含
atm6124
的驱动名字
刷固件
安装Install_AT91-ISP_v1.13.exe
,打开sam-ba v2.9
- 选择板级
at91sam7s64-ek
与主芯片一致。 - 弹出固件升级界面,在
Send File Name
处选择升级的固件,并点击Send File
- 弹出
Unlock regions
界面,选择是
- 弹处
Lock regions
界面,选择否
(也就是第一次选择Y,第二次选择N) - 等没有日志输出,基本上升级完成了
修改jlink V8 S/N并升级固件
- 安装
Setup_JLinkARM_V450l.zip
(其他版本可能无法设置SN) - 打开JLINK 4.50l的
jlink commander
,这时会跳出一个界面叫我们更新最新的firmware,到这里一定先不要更新,我们需要做的工作是修改jlink的SN码,输入指令exec setsn=20060125
,提示OK.
到这里固件基本刷完了,现在在jlink是可以正常使用的,但是默认的固件版本过低,为了支持更多芯片选择升级一个新的固件
安装JLink_Windows_V760_i386.exe
,再一次其打开jlink commander
,提示升级固件时可以进行升级了,升级成功后固件版本是2014
注意点
在整个固件升级的过程中需要注意的有亮点,一是驱动的安装,一般无法进入下载界面主要原因在于驱动;另一个就是SAM-BA软件的选择,在启动安装正常的情况下,打开SAM-BA可以识别出连接USB的就可以进行固件升级。
参考
- JLink V8刷固件方式 转载整合
- J-Link该如何升级固件?