前言¶
本文档主要介绍BurnTool的使用方法。用于指导工程人员快速使用BurnTool工具进行镜像烧写。
与本文档相对应的产品版本如下。
本文档主要适用于以下工程师:
技术支持工程师
软件工程师
硬件工程师
在本文中可能出现下列标志,它们所代表的含义如下。
新增“USB烧写”。 |
||
更新“工厂烧写”小节。 更新“工厂烧写”小节。 |
||
更新“产品安装”章节 |
||
增加“USB或SLE烧写时无法找到目标设备”章节。 |
||
更新“LUOFU、EMEI、XILING和TG0”、“TG1和TG2”章节“Option:Language”说明。 |
||
|
||
|
||
|
||
|
||
在“手动烧写”中新增说明内容。 |
||
|
||
产品安装¶
BurnTool安装程序的安装步骤如下:
BurnTool工具简介¶
功能说明¶
BurnTool是芯片配套的烧写工具,通过打断程序启动的方式,对单板烧写镜像文件。
应用场景¶
BurnTool主要适用于以下场景:
镜像烧写
导出镜像
界面说明¶
选择Chip¶
通过“Option”-“Change chip”打开芯片选择框,用于选择与单板匹配的芯片类型,部分芯片还可选择需要的烧写方式,界面如图1所示。
表 1 选择Chip界面说明
|
|
|
BurnTool¶
BurnTool界面如图1所示。
表 1 BurnTool界面说明
BurnTool-3x¶
BurnTool界面如图1所示。
表 1 BurnTool界面说明
BurnTool-Sparta¶
BurnTool界面如图1所示。
表 1 BurnTool界面说明
BurnTool-Dfu¶
DFU升级界面如图1所示,Auto DFU烧写界面如图2所示,Hid DFU升级界面如图3所示
表 1 Dfu烧写界面说明
|
|
|
|
|
|
|
|
|
|
|
|
|
BurnTool-Jlink¶
Jlink烧写界面如图1所示
表 1 Jlink烧写界面说明
|
|
|
|
BurnTool-组播升级¶
组播升级界面如图1所示。
表 1 组播升级界面说明
|
|
|
|
BurnTool-OTA升级¶
OTA升级界面如图1所示
表 1 Jlink烧写界面说明
BurnTool-TFTP¶
TFTP烧写包括LUOFU、EMEI、XILING、TG0、TG1和TG2六种不同芯片,通过“选择Chip”章节选择所需要的芯片种类。LUOFU、EMEI、XILING和TG0界面请参见“LUOFU、EMEI、XILING和TG0”章节,TG1和TG2请参见“TG1和TG2”章节。
LUOFU、EMEI、XILING和TG0¶
LUOFU、EMEI、XILING和TG0界面如图1所示。
表 1 LUOFU、EMEI、XILING和TG0烧写界面说明
IP Config:点击打开配置板端需要的IP配置信息,配置界面请参见“板端IP配置界面”章节。 |
|
Erase config:点击打开擦除内容配置,配置界面请参见“擦除配置信息界面”章节。 |
|
|
|
TG1和TG2¶
TG1和TG2界面如图1所示。
表 1 TG1和TG2烧写界面说明
IP Config:点击打开配置板端需要的IP配置信息,配置界面请参见“板端IP配置界面”章节。 |
|
Erase config:点击打开擦除内容配置,配置界面请参见“擦除配置信息界面”章节。 |
|
|
|
|
板端IP配置界面¶
板侧IP配置界面如图1所示。
表 1 板侧IP配置界面说明
擦除配置信息界面¶
擦除配置信息界面如图1所示。
表 1 板侧IP配置界面说明
BurnTool-MCU¶
MCU烧写界面¶
MCU烧写界面如图1所示。
表 1 MCU烧写界面说明
Param setting:NV参数配置,配置界面请参见“参数配置”章节。 |
|
参数区:根据所选的Transfer method确定设置的参数。 当选择SWD和JTAG时参数为频率和调试设备,当选择CAN、UART(USB)、UART时参数为波特率,当选择I2C和SPI时参数为速率。 |
|
|
|
参数配置¶
NV参数配置如图1所示。
表 1 NV参数配置界面说明
BurnTool-USB¶
USB升级界面如图1所示。
表 1 Dfu烧写界面说明
|
|
|
|
|
|
|
|
|
|
|
|
|
工厂烧写¶
工厂烧写功能用于大批量烧写场景。在打断之后根据表格中的选中顺序发送文件。工厂烧写界面如图1所示。
表 1 工厂烧写界面说明
|
|
|
|
|
|
|
设置界面¶
设置界面主要用于设置串口参数,设置界面如图1所示。
表 1 设置界面说明
设置界面-3x¶
设置界面主要用于设置串口参数,设置界面如图1所示。
表 1 设置界面说明
选择Jlink执行程序界面¶
通过“Setting”-“Jlink Settings”打开Jlink设置,用来配置Jlink执行程序路径,界面如图1所示。
表 1 选择JJlink执行程序界面说明
|
|
|
操作指南¶
手动烧写¶
串口烧写¶
在BurnTool界面中单击“Select file”按钮,选择各产品编译生成的固件包,并单击“OK”。
在表格中选中需要烧写的文件(请参考各产品文档中关于烧写的部分)。
选择“Setting”→“Settings”,配置串口参数,默认配置如图1所示。
说明:
Force Read Time:定时读取的时间,以毫秒为单位。勾选时为定时读取串口,不勾选时为事件触发读取串口。适用于不勾选该选项无法正常烧录的场景。选择目标串口号并单击“Connect”按钮(单击后“Connect”变为“Disconnect”),复位单板。打断后效果如图2所示。
当界面显示字符串“CCC”时,单击“Send file”按钮。不同产品“CCC”上方的字符串可能不同。
等待传输完成后结束烧写,烧写完成会出现“All images burn successfully”。烧写完成效果如图3所示。
说明: 若镜像在服务器上,并多次出现烧写镜像失败的情况,请拷贝至本地烧写
3x协议串口烧写¶
参考选择Chip章节选择正确的芯片。
在BurnTool界面的COM处选择串口。如图1所示
(可选)点击“Setting”→“Settings”,配置串口参数,默认配置如图2所示。
单击“Start burn”按钮(单击后“Start burn”变为“Stop burn”),出现如图3所示提示,复位单板。
等待传输完成后结束烧写,烧写完成会出现“All images burn successfully”。烧写完成效果如图4所示。
DFU烧写¶
使用管理员权限打开程序(右键点击应用程序,点击以管理员身份运行,如图1所示)。
参考“选择Chip”章节选择带DFU后缀的芯片,如“XXX-USB”。
选择烧写模式,如图2所示,选择dfu升级模式。
根据3选择的模式选择设备或者填写设备信息。Dfu模式时选择设备信息如图3所示。Auto dfu和 Hid dfu模式时填写设备信息如图4所示。
在BurnTool界面中单击“Select file”按钮,选择产品编译生成的固件包,并单击“打开”。
在表格中选中需要烧写的文件。
单击“Start burn”按钮(单击后“Start burn”变为“Stop burn”)。
等待传输完成后结束烧写,烧写完成会出现“All images burn successfully”。烧写完成效果如图5所示。
警告:
在打印“All images burn successfully”之前请一定不要断电,否则单板将有概率异常。
JLIINK烧写¶
TCP烧写¶
USB烧写¶
在BurnTool界面中正确填写USB设备的Vid和Pid信息,单击“Select file”按钮,如图1所示,选择各产品编译生成的固件包,并单击“打开”。
在表格中选中需要烧写的文件(请参考各产品文档中关于烧写的部分),如图2所示。
单击“Start burn”按钮,待日志窗口出现“Reset the device...”如图 等待单板复位所示,此时按下单板的复位键。工具等待单板复位超时默认为10s,如果超时时间内未检测到单板复位日志窗口会打印“Driver may not be installed. Open the device manager to confirm.No DFU capable USB device available.”,如图 检测单板复位超时所示。
等待传输完成后结束烧写,烧写完成会出现“All images burnt successfully”。烧写完成效果如图 烧写完成示意图所示。
工厂烧写¶
在BurnTool界面中单击“Select file”按钮,选择各产品编译生成的固件包,并单击“OK”。
在表格中选中需要烧写的文件。
选择“Setting”→“Settings”,配置串口参数,默认配置如图1所示。
说明:
Total num在研发测试中最大已压测个数为20,实际烧录最大个数上限理论不限制,一般与电脑性能、夹具、接线稳定性有关。单击“Multiple burn”按钮,打开工厂烧写窗口,若已有配置会自动读取。若无配置手动选择串口后,可以选择“Setting”→“Save config”生成配置。
单击“Connect all”按钮,并复位所有单板。
等待所有回显视图都显示绿色“PASS”或红色“Fail”。

工厂烧写-金版校准和机械臂设置¶
在BurnTool界面中单击“Select file”按钮,选择各产品编译生成的固件包,并单击“OK”。
在表格中选中需要烧写的文件。
选择“Setting”→“Settings”,配置串口参数,默认配置如图1所示。
说明:
Total num在研发测试中最大已压测个数为20,实际烧录最大个数上限理论不限制,一般与电脑性能、夹具、接线稳定性有关。单击“Multiple burn”按钮,打开工厂烧写窗口,若已有配置会自动读取。若无配置手动选择串口后,可以选择“Setting”→“Save config”生成配置。
可选步骤,如果需要使用串口检查功能,选择“Setting”,点击“Check COM”, 工具会根据单板返回的位置信息,把单板对应的串口排到界面对应位置,
注意该功能需单板镜像支持。
可选步骤,如果需要使用机械臂串口功能,选择“Setting”,点击“Robotic Arm Com Setting”,在弹出的界面配置串口信息,配置后烧写单板后,
会向选择的串口发送成功和失败信息。
单击“Connect all”按钮,并复位所有单板。
等待所有回显视图都显示绿色“PASS”或红色“Fail”。

命令行烧写¶
串口烧写¶
在Windows环境下,BurnTool.exe支持以命令行的方式调用,可用于集成到用户已有的工厂产线烧写程序中,调用命令如下:
BurnTool.exe params
命令之间用空格隔开,如果命令带有参数,命令与参数之间用冒号隔开,最简示例如下:
BurnTool.exe -com:1 -bin:C:\test_bin\xxx.fwpkg -signalbaud:921600
BurnTool.exe烧写命令可以配置的params参数如表1所示。
表 1 BurnTool.exe烧写命令参数表
RomBoot下传输固件包时的串口波特率,默认为115200bit/s。建议根据硬件支持情况,配置成921600bit/s或更高波特率,以提升烧写效率。 |
||
|
||
|
||
如果需要使用标准输入输出获取烧写过程的打印,命令如下:
BurnTool.exe -com:1 -bin:C:\test_bin\xxx.fwpkg -signalbaud:921600 -console如果需要指定烧写一个烧录包中的其中两个bin文件,命令如下:
BurnTool.exe -com:1 -bin:C:\test_bin\xxx.fwpkg -signalbaud:921600 -onlyburn:a.bin -onlyburn:b.bin如果需要使用全片擦除且烧写完之后自动复位单板,命令如下:
BurnTool.exe -com:1 -bin:C:\test_bin\xxx.fwpkg -signalbaud:921600 -erasemode:1 -reset
3x协议烧写¶
说明: 命令行烧写需在安装路径下打开Windows命令行程序。
BurnTool.exe支持不打开界面,直接通过命令行进行参数设置与工具启动调度并烧写,可用于集成到用户已有的工厂产线烧写程序中,调用命令如下:
BurnTool.exe params
命令之间用空格隔开,如果命令带有参数,命令与参数之间用冒号隔开,最简示例如下:
BurnTool.exe -com:1 -bin:C:\test_bin\xxx.fwpkg -signalbaud:115200 -3x
BurnTool.exe烧写命令可以配置的params参数如表1所示
表 1 BurnTool.exe烧写命令参数表
如果需要使用标准输入输出获取烧写过程的打印,命令如下:
BurnTool.exe -3x -com:1 -bin:C:\test_bin\xxx.fwpkg -signalbaud:115200 -console
DFU烧写¶
说明: 命令行烧写需在安装路径下打开Windows命令行程序。
BurnTool.exe支持不打开界面,直接通过命令行进行参数设置与工具启动调度并烧写,可用于集成到用户已有的工厂产线烧写程序中。需在管理员权限下执行命令。调用命令如下:
BurnTool.exe params
使用C++代码管理员权限调用示例如下:
#include <windows.h>
int main(int argc, char *argv[])
{
char cmd[] = "D:\\BurnTool\\BurnTool.exe";
ShellExecuteA(NULL, "runas", cmd, "-dfu -vid:0x01 -pid:0x01 -usage:0x01 -usagepage:0x01 -bin:C:\test_bin\xxx.fwpkg -console", NULL, SW_NORMAL);
return 0;
}
命令之间用空格隔开,如果命令带有参数,命令与参数之间用冒号隔开,最简示例如下:
BurnTool.exe -dfu -pid:0x01 -vid:0x01 -usage:0x01 -usagepage:0x01 -bin:C:\test_bin\xxx.fwpkg
BurnTool.exe dfu模式烧写命令可以配置的params参数如表1所示
表 1 BurnTool.exe dfu模式烧写命令参数表
如果需要使用标准输入输出获取烧写过程的打印,命令如下:
BurnTool.exe -dfu -pid:0x01 -vid:0x01 -usage:0x01 -usagepage:0x01 -bin:C:\test_bin\xxx.fwpkg -console
TCP 烧写¶
在Windows环境下,BurnTool.exe支持以命令行的方式调用,可用于集成到用户已有的工厂产线烧写程序中,调用命令如下:
BurnTool.exe params
命令之间用空格隔开,如果命令带有参数,命令与参数之间用冒号隔开,最简示例如下:
BurnTool.exe -ipaddr:0.0.0.0 -ipport:10001 -bin:C:\test_bin\xxx.fwpkg
部分params参数如表1所示,其余参数配置同串口烧写说明,不再赘述。
表 1 BurnTool.exe烧写命令参数表
USB烧写¶
在Windows环境下,BurnTool.exe支持以命令行的方式调用,可用于集成到用户已有的工厂产线烧写程序中,调用命令如下:
BurnTool.exe params
命令之间用空格隔开,如果命令带有参数,命令与参数之间用冒号隔开,最简示例如下:
BurnTool.exe -chiptype:4GCAT1-USB -autodfu -usblocation:xxxx -pid:0xxxxx -vid:0xxxxx -bin:xxx.fwpkg
BurnTool.exe烧写命令可以配置的params参数如表 BurnTool.exe烧写命令参数表所示。
表 1 BurnTool.exe烧写命令参数表
|
||
读eFuse¶
导出镜像¶
导出镜像-3x¶
Flash导出
命令行导出¶
BurnTool.exe支持不打开界面,直接通过命令行进行Flash导出操作,调用命令如下:
BurnTool.exe params
命令之间用空格隔开,如果命令带有参数,命令与参数之间用冒号隔开,最简示例如下:
BurnTool.exe -export -com:1 -signalbaud:115200 -bin:C:\test_bin\xxx.fwpkg -target:C:\test_bin\xxx.bin -addr:0x... -size:0x...
BurnTool.exe Flash导出命令可以配置的params参数如表1所示。
表 1 BurnTool.exe flash导出命令参数表
固件包xxx.bin的绝对路径。固件包的名称和文件类型根据各产品实际情况可能有所不同。需要烧写其中的loader文件(路径不能存在空格字符)。 |
||
如果需要使用标准输入输出获取烧写过程的打印,命令如下:
BurnTool.exe -export -com:1 -signalbaud:115200 -bin:C:\test_bin\xxx.fwpkg -target:C:\test_bin\xxx.bin -addr:0x... -size:0x... -console
命令行导出-3x¶
BurnTool.exe支持不打开界面,直接通过命令行进行Flash导出操作,调用命令如下:
BurnTool.exe params
命令之间用空格隔开,如果命令带有参数,命令与参数之间用冒号隔开,最简示例如下:
BurnTool.exe -export -3x -com:1 -signalbaud:115200 -target:C:\test_bin\xxx.bin -addr:0x... -size:0x...
BurnTool.exe Flash导出命令可以配置的params参数如表1所示。
表 1 BurnTool.exe flash导出命令参数表
如果需要使用标准输入输出获取烧写过程的打印,命令如下:
BurnTool.exe -export -3x -com:1 -signalbaud:115200 -target:C:\test_bin\xxx.bin -addr:0x... -size:0x... -console
组播升级¶
开始升级¶
停止升级¶
OTA升级¶
TFTP烧写¶
LUOFU、EMEI、XILING和TG0¶
请参见“选择Chip”章节选择正确的芯片。
在BurnTool界面的COM处选择串口,如图1所示。
选择使用的PC的IP地址,如图2所示。
单击“IP Config”按钮配置板端IP信息,配置项如图3所示。
单击“Erase config”配置擦除项,不同的产品有不同的配置项,如图4所示。
选择是否勾选Empty flash,勾选为裸烧模式,去勾选为非裸烧模式。
在BurnTool界面中单击“...”按钮,选择产品编译生成的固件包,并单击“打开”,如图5所示。
在表格中选中需要烧写的文件,点击“Start”开始烧写(点击后有可能需要手动重启)。
等待传输完成后结束烧写,烧写完成会出现“All images burn successfully”。烧写完成效果如图6所示。
TG1和TG2¶
请参见“选择Chip”章节选择正确的芯片。
填写设备的Vid和Pid,如图2所示。
在BurnTool界面的com处选择串口,如图3所示。
选择使用的PC的IP地址,如图4所示。
单击“IP Config”按钮配置板端IP信息,配置项如图5所示。
单击“Erase config”配置擦除项,不同的产品有不同的配置项,如图6所示。
选择是否勾选Empty flash。勾选为裸烧模式,去勾选为非裸烧模式。
在BurnTool界面中单击“...”按钮,选择产品编译生成的固件包,并单击“打开”。如图7所示。
在表格中选中需要烧写的文件,点击“Start”开始烧写(点击后有可能需要手动重启)。
等待传输完成后结束烧写,烧写完成会出现“All images burn successfully”,烧写完成效果如图8所示。
MCU¶
烧写¶
擦除¶
全部擦除¶
导出¶
全部擦除¶
fwpkg生成及拆分¶
FAQ¶
工具未进入打断状态¶
单击连接、断电重启后,工具并没有进入打断状态。
可能是串口选择错误或没有正常连接串口,请检查串口配置。
可能单板设置了1ms快速启动,需要在BurnTool“Setting”→“Burn interval”中选择2ms间隔。
可能使用win7系统产生部分兼容性问题,可切换至win10尝试。
如何获取符合格式的固件包¶
如何获取BurnTool可识别的固件包。
请参见各产品关于编译或固件生成的文档。
加载配置文件时出现错误提示¶
在启动BurnTool后,如果同级目录或C盘BurnTool路径下有配置文件,则会提示“是否加载已存在的配置文件?”;如果选择加载配置文件且配置文件格式不正确,则会提示“文件格式错误,是否继续”。
提示“文件格式错误,是否继续”表示当前的配置文件中有部分内容没有配置或配置值不符合预期,造成此问题的原因可能是由于手动修改过配置文件或当前版本没有主动保存过配置文件。此时可以选择不加载配置文件,全部重新手工配置并保存配置文件。
工厂烧写时随机串口无法进入doing状态¶
因串口驱动配合问题,在工厂烧写时,可能会出现随机串口无法进入工作(doing)状态的情况。
在“Setting”→“Settings”中查看“Reopen Com Everytime”的勾选状态。
如果未勾选,则尝试勾选并重新开始工厂烧写;如果已勾选,则尝试取消勾选并重新开始工厂烧写。
如何提升镜像烧录速度¶
产线上烧录大镜像所需时间过长,导致生产成本增加。
一拖多烧写时反复烧写该如何解决¶
一拖多烧写时,每次烧写完成会重新开始烧写,具体表现为在没有进行手动复位的情况下,进度条达到100%后又从0%开始烧录。
将设置中的“Reset after success”去勾选。
全擦功能异常¶
点击“Erase all”后,未擦除成功或单板死机或有其他异常打印。
Sparta 1.1.10.600之前版本不支持全擦功能,单板需烧写到Sparta 1.1.10.600及之后版本再执行全擦。
USB或SLE烧写时无法找到目标设备¶
在USB或SLE烧写时,设备下拉列表中找不到名为HH6666(名称是代码决定)的设备中usage page为0xffb2(usage page是代码决定)的设备,但设备管理器中能看到HH6666设备。
设备管理器中是否有HH6666,如果有就右键点击卸载设备,并勾选删除驱动,然后点击确定。如果没有则检查连线。
如何使用BurnTool读取Flash¶
如何使用BurnTool进行读取Flash。
BurnTool配置如下。

**参数说明:**图片中第7步的地址,为从0开始的地址,我们代码中使用的地址是在该基础上加上了偏移0x200000。
开始读取Flash。

如何使用BurnTool进行固件全擦¶
如何使用BurnTool进行固件全擦。
按照下图步骤依次操作即可。







































图 6 询问是否加载配置示意图



























































