工厂使用j-flash工具进行烧录,发现烧录后的数据和发布的hex文件数据对应不上,经过深入对比和分析,初步确定在j-flash界面上编辑了烧录的数据造成的错误。
在j-flash界面上,修改了数据,未保存,将红色提示,但是烧写的时候用的是编辑区的数据,也就是改后的数据,这样就和发布的hex数据对应不上了,为了避免这种现象发生,想办法让这个编辑区不显示出来:
1、最小化数据编辑区(部分版本不支持最小化,目前用的6.82c版本不支持最小化)
2、锁死编辑区(目前没找到对应选项)
接着想有没更加好的办法呢???
于是想到两个:官方是不是有???二是动手自己弄一个???
第一种方法:
在segger列表中,有一个J-Flash Lite软件可用
1、打开软件,选择对应目标芯片类型
2、选择下载接口类型与下载速率
3、配置好之后,点击OK按钮进入主界面
4、选择对应的烧录文件
5、点击Program Device按钮进行烧写,电脑上有多个jlink下载器的,会提示选择
6、选择对应的下载器后,将开始烧写
7、烧写出错、烧写成功,最后log提示
烧写过程中会有一个对应的进度显示界面
第二种方法:
第一种方式对于工厂生产来说还是相对麻烦一点,大多是不清楚目标烧写芯片型号的,想想能不能固定或者有对应的映射呢???
于是想到j-link工具可以使用命令行方式进行操作的,动手进行实验:
1、编写烧录脚本,创建一个text文档
因为我电脑上插着两个j-link下载器,图中第一行就是指定某一个下载器的sn,如果只有一个的话,第一行可以不用
不加上并且有多个下载器的话,也会进行提示让选择
查看jlink下载器sn方法:
A、部分下载器直接有一个标签,标签上面就印有
B、当没有标签或者标签上面没有印的时候,可以使用命令进行获取
启动指令窗体即可读取到sn,或者输入usb指令也可以读取到
2、电脑打开cmd指令窗口,并输入如下指令
3、指令输入完毕,回车后将启动烧录
4、烧录完毕后会提示烧录成功并运行
5、烧录过程中如果出错,会有对应的log提示
烧录过程会有一个对应的操作进度提示窗体
最后:
批量烧写,每次输入指令比较麻烦,可以写一个脚本进行调用操作,这样节省每次键入指令造成出错麻烦
鉴于键入指令和运行脚本不够直观,jlink指令操作繁琐,于是写了一个界面进行管理,这样美观了不少
设备类型,界面上转换成了对应的项目代码,对于工厂,直接按照工单的项目代码/类型进行选择即可,简单明了,对应芯片型号在软件代码上进行映射
界面上没有做jlink下载器选择项,所以启动烧写的时候,会提示选择对应的下载器