sunsili 发表于 2022-11-15 19:09:08

几种用jLink命令行烧录hex文件的方法

本帖最后由 sunsili 于 2022-11-15 19:11 编辑

几种用jLink命令行烧录hex文件的方法

工厂使用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下载器选择项,所以启动烧写的时候,会提示选择对应的下载器

页: [1]
查看完整版本: 几种用jLink命令行烧录hex文件的方法