HiSpark编程指南

- 工具资料
  - 前言
  - 产品安装
  - BurnTool工具简介
  - 操作指南
  - FAQ

### 该页内容

- 前言
- 产品安装
- BurnTool工具简介
  - 功能说明
  - 应用场景
  - 界面说明
    - 选择Chip
    - BurnTool
    - BurnTool-3x
    - BurnTool-Sparta
    - BurnTool-Dfu
    - BurnTool-Jlink
    - BurnTool-组播升级
    - BurnTool-OTA升级
    - BurnTool-TFTP
      - LUOFU、EMEI、XILING和TG0
      - TG1和TG2
      - 板端IP配置界面
      - 擦除配置信息界面
    - BurnTool-MCU
      - MCU烧写界面
      - 参数配置
    - BurnTool-USB
    - 工厂烧写
    - 设置界面
    - 设置界面-3x
    - 选择Jlink执行程序界面
- 操作指南
  - 手动烧写
    - 串口烧写
    - 3x协议串口烧写
    - DFU烧写
    - JLIINK烧写
    - TCP烧写
    - USB烧写
  - 工厂烧写
  - 工厂烧写-金版校准和机械臂设置
  - 命令行烧写
    - 串口烧写
    - 3x协议烧写
    - DFU烧写
    - TCP 烧写
    - USB烧写
  - 读eFuse
  - 导出镜像
  - 导出镜像-3x
  - 命令行导出
  - 命令行导出-3x
  - 组播升级
    - 开始升级
    - 停止升级
  - OTA升级
  - TFTP烧写
    - LUOFU、EMEI、XILING和TG0
    - TG1和TG2
  - MCU
    - 烧写
    - 擦除
    - 全部擦除
    - 导出
  - 全部擦除
  - fwpkg生成及拆分
- FAQ
  - 工具未进入打断状态
  - 如何获取符合格式的固件包
  - 加载配置文件时出现错误提示
  - 工厂烧写时随机串口无法进入doing状态
  - 如何提升镜像烧录速度
  - 一拖多烧写时反复烧写该如何解决
  - 全擦功能异常
  - USB或SLE烧写时无法找到目标设备
  - 如何使用BurnTool读取Flash
  - 如何使用BurnTool进行固件全擦

# 前言

概述

本文档主要介绍BurnTool的使用方法。用于指导工程人员快速使用BurnTool工具进行镜像烧写。

产品版本

与本文档相对应的产品版本如下。

产品名称 | 产品版本
--- | ---
4GCat1 | V100
5GNB | V100
BS25 | V100
BS2X | V100
GNSS71 | V100
Melody | V100
MP1X | V100
NB1X | V100
SP31 | V100
Sparta | V100
SW21 | V100
SW38 | V100
SW39 | V100
TG1 | V100
TG2 | V100
TG2E | V100
TG3 | V100
WS53 | V100
WS63 | V100
WS73 | V100

读者对象

本文档主要适用于以下工程师：

- 技术支持工程师

- 软件工程师

- 硬件工程师

符号约定

在本文中可能出现下列标志，它们所代表的含义如下。

符号 | 说明
--- | ---
| 表示如不避免则将会导致死亡或严重伤害的具有高等级风险的危害。
| 表示如不避免则可能导致死亡或严重伤害的具有中等级风险的危害。
| 表示如不避免则可能导致轻微或中度伤害的具有低等级风险的危害。
| 用于传递设备或环境安全警示信息。如不避免则可能会导致设备损坏、数据丢失、设备性能降低或其它不可预知的结果。 “须知”不涉及人身伤害。
| 对正文中重点信息的补充说明。 “说明”不是安全警示信息，不涉及人身、设备及环境伤害信息。

修改记录

文档版本 | 发布日期 | 修改说明
--- | --- | ---
00B18 | 2025-09-01 | 新增“USB烧写”。
00B17 | 2025-08-07 | 更新“工厂烧写”小节。 更新“工厂烧写”小节。
00B16 | 2025-04-14 | 更新“产品安装”章节
00B15 | 2025-03-25 | 增加“USB或SLE烧写时无法找到目标设备”章节。
00B14 | 2024-12-07 | 更新“LUOFU、EMEI、XILING和TG0”、“TG1和TG2”章节“Option：Language”说明。
00B13 | 2024-11-14 | 修改“DFU烧写”小节。
00B12 | 2024-10-14 | 新增“BurnTool-TFTP”“BurnTool-MCU”“TFTP烧写”“MCU”小节。
00B11 | 2024-08-29 | 更新“BurnTool-Dfu”小节。 更新“手动烧写”小节。
00B10 | 2024-07-05 | 新增“OTA升级”小节 新增“BurnTool-OTA升级”小节
00B09 | 2024-06-30 | 更新“界面说明”小节。 更新“手动烧写”小节。 更新“命令行烧写”小节。
00B08 | 2024-01-08 | 更新“界面说明”小节。 更新“手动烧写”小节。
00B07 | 2022-06-15 | 在“手动烧写”中新增说明内容。
00B06 | 2022-04-29 | 在“BurnTool”中更新表1。 在“手动烧写”中新增说明内容。
00B05 | 2022-03-11 | 在“BurnTool”中更新表1。
00B04 | 2022-02-22 | 更新BurnTool工具界面。
00B03 | 2022-01-14 | 更新“BurnTool”小节。 在“读eFuse”中更新图2。 在“导出镜像”中更新图2。
00B01 | 2021-09-01 | 第一次临时版本发布。

# 产品安装

BurnTool安装程序的安装步骤如下：

1. 打开BurnTool安装程序“BurnTool.exe”。

2. 弹出BurnTool安装路径选择界面，如图1所示，选择好安装路径后单击“Next”按钮。若安装路径选择为C盘“Program Files”需要在运行时使用管理员权限。

   图 1 BurnTool安装界面

3. 弹出BurnTool选择协议界面，如图2所示，选择对应的产品，单击“Next”按钮。

   图 2 BurnTool选择协议界面

4. 弹出BurnTool额外任务选择界面，如图3所示，单击“Install”按钮。

   图 3 BurnTool额外任务选择界面

5. 弹出BurnTool正在安装界面，请等待，直至安装完成。

6. 弹出BurnTool安装完成界面，如图4所示，单击“Finish”按钮退出安装。

   图 4 BurnTool安装完成界面

# BurnTool工具简介

## 功能说明

BurnTool是芯片配套的烧写工具，通过打断程序启动的方式，对单板烧写镜像文件。

## 应用场景

BurnTool主要适用于以下场景：

- 镜像烧写

- 导出镜像

## 界面说明

### 选择Chip

通过“Option”-“Change chip”打开芯片选择框，用于选择与单板匹配的芯片类型，部分芯片还可选择需要的烧写方式，界面如图1所示。

图 1 选择Chip界面示意图

表 1 选择Chip界面说明

区域 | 说明
--- | ---
1 | Chip List：可选芯片列表。
2 | OK：确定选择按钮。 Cancel：取消选择按钮。

### BurnTool

BurnTool界面如图1所示。

图 1 BurnTool界面示意图

表 1 BurnTool界面说明

区域 | 说明
--- | ---
1 | Connect：打开串口并发送打断报文。 COM：串口号列表，显示当前可用串口号。
2 | Select file：选择烧写镜像。 Delete：将表格中的选中行删除。
3 | Import Efuse：导入eFuse配置文件。 Efuse列表：显示当前可读取的eFuse名称。 Read Efuse：根据选中的eFuse下发读取报文。
4 | Erase Mode：选择擦除模式。 normal：按照固件包中的参数进行擦除操作。 erase all：第一个烧写项烧写前进行全片擦除，剩余烧写项烧写时不再进行擦除操作。 no erase：不进行擦除操作。注意，该方式需要保证flash为空片或已进行全片擦除。
5 | Send file：按照表格选中信息依次烧写镜像。
6 | 镜像表格：显示可被烧写的镜像信息。各列含义为： Name：名称。 Path：路径。 File Index：镜像在文件中的起始索引。 File Size：镜像大小。 Burn Addr：烧写的Flash起始地址。 Burn Size：擦除的Flash大小。 Type：通用类型，包括： 0：Loader。 1：一般镜像文件。 2：参数文件。 3：eFuse文件。 其他的数字由各产品定义，不一一列举。
7 | 烧写进度。
8 | 回显视图：显示打断之后单板上报的数据。
9 | Select target：选择导出镜像位置。 addr：输入要导出的Flash起始地址。 size：输入要导出的Flash大小。
10 | Reset：重启单板。(本功能仅在烧写loader之后生效) Erase all：全片擦除。(本功能仅在烧写loader之后生效)
11 | Export：导出镜像。(本功能仅在烧写loader之后生效)
12 | Setting：包括以下菜单： Settings：设置串口参数。 Burn interval：设置打断间隔（选中2表示打断时以2ms间隔发送打断报文，10同理），可输入值，范围为1～30。 Import config：导入配置文件。 Save config：保存配置文件。 Language：修改语言。 Option：包含以下菜单 Change chip：切换芯片。 Help：显示版本号。
13 | Multiple burn：进入工厂烧写界面。
14 | Auto burn：打断成功后无需单击“Send file”按钮。工具将按照表格选中的信息依次烧写镜像。 注意：该功能仅用于烧写，若需要导出镜像或读efuse则不可勾选。 Auto disconnect: 在程序烧写完成后自动断开连接。

### BurnTool-3x

BurnTool界面如图1所示。

图 1 BurnTool界面示意图

表 1 BurnTool界面说明

区域 | 说明
--- | ---
1 | Setting：包括以下菜单： Settings：设置串口参数。 Import config：导入配置文件。 Save config：保存配置文件。 Language：修改语言。 Option：包括以下菜单： Change Chip：修改产品。 Help：包括以下菜单： About：显示版本信息。
2 | COM：串口号列表，显示当前可用串口号。
3 | Select file：选择格式为fwpkg的烧写镜像。
4 | 显示烧写镜像路径。
5 | Start burn：按照表格选中信息依次烧写镜像。 Multiple burn：打开工厂一拖多烧写界面。
6 | 镜像表格：显示可被烧写的镜像信息。各列含义为： Name：名称。 Path：路径。 File Index：镜像在文件中的起始索引。 File Size：镜像大小。 Burn Addr：烧写的Flash起始地址。 Burn Size：擦除的Flash大小。 Type：通用类型，包括： 0：ssb镜像。 18：application镜像。 19：application签名文件。 20：bt镜像。 21：bt签名文件。 22：dsp main镜像。 23：dsp main签名文件。 24：ssb校验文件。 25：ssb签名文件。 26：dsp overlay镜像。 27：dsp overlay签名文件。 30：ssb公匙文件。 31：ssb二级证书。 100：flash文件。 101：文件系统镜像。 102：flash/文件系统镜像/otp校验文件。 103：otp文件。
7 | 烧写进度。
8 | 日志视图：显示烧写过程中单板上报的日志及工具打印的日志。
9 | Select target：选择一个文件路径。
10 | Addr：导出镜像起始地址。 Length：导出镜像的长度。
11 | Export：导出开始按钮。（开始后按钮会变为stop，并再次点击将会停止导出。）

### BurnTool-Sparta

BurnTool界面如图1所示。

图 1 BurnTool界面示意图

表 1 BurnTool界面说明

区域 | 说明
--- | ---
1 | Setting：包括以下菜单： Settings：设置串口参数。 Import config：导入配置文件。 Save config：保存配置文件。 Language：修改语言。 Option：包括以下菜单： Change Chip：修改产品。 Help：包括以下菜单： About：显示版本信息。
2 | COM：串口号列表，显示当前可用串口号。
3 | Select file：选择格式为fwpkg的烧写镜像。
4 | 显示烧写镜像路径。
5 | Start burn：按照表格选中信息依次烧写镜像。 Erase all：擦除全部镜像。 Multiple burn：打开工厂一拖多烧写界面。
6 | 镜像表格：显示可被烧写的镜像信息。各列含义为： Name：名称。 Path：路径。 File Index：镜像在文件中的起始索引。 File Size：镜像大小。 Burn Addr：烧写的Flash起始地址。 Burn Size：擦除的Flash大小。 Type：通用类型，包括： 0：ssb文件。 18：application文件。 19：application签名文件。 20：bt文件。 21：bt签名文件。 22：dsp main文件。 23：dsp main签名文件。 24：ssb校验文件。 25：ssb签名文件。 26：dsp overlay文件。 27：dsp overlay签名文件。 30：ssb公匙文件。 31：ssb二级证书。 100：flash文件。 101：文件系统镜像。 102：flash/文件系统镜像/otp校验文件。 103：otp文件。
7 | 烧写进度。
8 | 日志视图：显示烧写过程中单板上报的日志及工具打印的日志。
10 | Addr：导出镜像起始地址。 Length：导出镜像的长度。
11 | Export：导出开始按钮。（开始后按钮会变为stop，并再次点击将会停止导出。）

### BurnTool-Dfu

DFU升级界面如图1所示，Auto DFU烧写界面如图2所示，Hid DFU升级界面如图3所示

图 1 DFU升级界面

图 2 Auto DFU烧写界面

图 3 Hid DFU升级界面

表 1 Dfu烧写界面说明

区域 | 说明
--- | ---
1 | Option：包括以下菜单： Change Chip：修改产品。 Language：修改语言。 Help：包括以下菜单： About：显示版本信息。
2 | Dfu mode：选择DFU的升级模式 Dfu： 在hid状态切换到dfu升级模式进行dfu升级。 Auto dfu：直接进入dfu升级模式。 Hid dfu：在hid状态直接升级。
3 | USB：显示所有的USB-HID设备
4 | Select file：选择格式为fwpkg的烧写镜像，并显示烧写镜像路径。
5 | Start burn：按照表格选中信息依次烧写镜像。
6 | 镜像表格：显示可被烧写的镜像信息。各列含义为： Name：名称。 Path：路径。 File Index：镜像在文件中的起始索引。 File Size：镜像大小。 Burn Addr：烧写的Flash起始地址。 Burn Size：擦除的Flash大小。 Type：通用类型，包括： 0：Loader。 1：一般镜像文件。 2：参数文件。 3：eFuse文件。 32：fota文件。
7 | 烧写进度。
8 | 日志视图：显示烧写过程中单板上报的日志及工具打印的日志。
9 | Vid：设备的Vendor ID。
10 | Pid：设备的Product ID。

### BurnTool-Jlink

Jlink烧写界面如图1所示

图 1 Jlink烧写界面

表 1 Jlink烧写界面说明

区域 | 说明
--- | ---
1 | Setting： 包括以下菜单： Jlink Settings：设置Jlink执行文件路径。 Language：修改语言。 Option： 包括以下菜单： Change Chip：修改产品。 Help： 包括以下菜单： About：显示版本信息。
2 | Select file：选择格式为fwpkg的烧写镜像。
3 | Start burn：按照表格选中信息依次烧写镜像。
4 | 镜像表格：显示可被烧写的镜像信息。各列含义如下。 Name：名称。 Path：路径。 File Index：镜像在文件中的起始索引。 File Size：镜像大小。 Burn Addr：烧写的Flash起始地址。 Burn Size：擦除的Flash大小。 Type：烧写文件类型。
5 | 烧写进度。
6 | 日志视图：显示烧写过程中单板上报的日志及工具打印的日志。

### BurnTool-组播升级

组播升级界面如图1所示。

图 1 组播升级界面

表 1 组播升级界面说明

区域 | 说明
--- | ---
1 | Network card：选择网卡。组播升级默认使用13456端口。
2 | Select file：选择升级文件。
3 | Start：开始升级。 Stop：停止升级。
4 | 升级文件信息表。各列含义如下。 Name：名称。 Path：路径。 Burn Addr：升级的起始地址。 Burn Size：升级的大小。
5 | 升级进度。
6 | Package file send time：文件发送次数。
7 | Current packet No.：当前包的编号。

### BurnTool-OTA升级

OTA升级界面如图1所示

图 1 OTA升级界面示意图

表 1 Jlink烧写界面说明

区域 | 说明
--- | ---
1 | Option： 包括以下菜单： Change Chip：修改产品。 Language：修改语言。 Help： 包括以下菜单： About：显示版本信息。
2 | USB：显示所有的USB-HID设备。
3 | Open：打开所选的USB设备。
4 | Address：Open时扫描设备设备地址，扫描到的设备添加其中。
5 | Connect：连接设备。
6 | File：选择升级文件。
7 | Start：开始升级（已经开始时会变成Stop，点击中断升级）。
8 | 镜像表格：显示可被烧写的镜像信息。各列含义如下。 Name：名称。 Path：路径。 File Index：镜像在文件中的起始索引。 File Size：镜像大小。 Burn Addr：烧写的Flash起始地址。 Burn Size：擦除的Flash大小。 Type：烧写文件类型。
9 | 烧写进度。
10 | 日志视图：显示烧写过程中单板上报的日志及工具打印的日志。

### 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烧写界面

表 1 LUOFU、EMEI、XILING和TG0烧写界面说明

区域 | 说明
--- | ---
1 | Option： Change Chip：修改产品。 Language：修改语言。 Help： About：显示版本信息。
2 | COM：串口号列表，显示当前可用串口号。
3 | IP Adress：PC的IP地址。
4 | IP Config：点击打开配置板端需要的IP配置信息，配置界面请参见“板端IP配置界面”章节。
5 | Erase config：点击打开擦除内容配置，配置界面请参见“擦除配置信息界面”章节。
6 | Empty flash：用来设置是否为裸烧模式。
7 | File：选择升级文件。
8 | Start：开始升级。
9 | 镜像表格：显示可被烧写的镜像信息。各列含义如下。 Name：名称。 Path：路径。 File Index：镜像在文件中的起始索引。 File Size：镜像大小。 Burn Addr：烧写的Flash起始地址。 Burn Size：擦除的Flash大小。 Type：烧写文件类型。
10 | 日志视图：显示烧写过程中单板上报的日志及工具打印的日志。

#### TG1和TG2

TG1和TG2界面如图1所示。

图 1 TG1和TG2烧写界面

表 1 TG1和TG2烧写界面说明

区域 | 说明
--- | ---
1 | Option： Change Chip：修改产品。 Language：修改语言。 Help： About：显示版本信息。
2 | Type：设置bootroom的烧写方式。 Serial：通过串口烧写。 USB：通过USB烧写。
3 | Vid：设备的Vendor ID； Pid：设备的Product ID。
4 | COM：串口号列表，显示当前可用串口号。
5 | IP Adress：PC的IP地址。
6 | IP Config：点击打开配置板端需要的IP配置信息，配置界面请参见“板端IP配置界面”章节。
7 | Erase config：点击打开擦除内容配置，配置界面请参见“擦除配置信息界面”章节。
8 | Empty flash：用来设置是否为裸烧模式。
9 | File：选择升级文件。
10 | Start：开始升级。
11 | 镜像表格：显示可被烧写的镜像信息。各列含义如下。 Name：名称。 Path：路径。 File Index：镜像在文件中的起始索引。 File Size：镜像大小。 Burn Addr：烧写的Flash起始地址。 Burn Size：擦除的Flash大小。 Type：烧写文件类型。
12 | 日志视图：显示烧写过程中单板上报的日志及工具打印的日志。

#### 板端IP配置界面

板侧IP配置界面如图1所示。

图 1 板侧IP配置界面

表 1 板侧IP配置界面说明

区域 | 说明
--- | ---
1 | IP address：IP地址。
2 | Subnet mask：子网掩码。
3 | Gateway：网关。
4 | Save：保存配置； Cancel：取消设置的配置。

#### 擦除配置信息界面

擦除配置信息界面如图1所示。

图 1 擦除配置信息界面

表 1 板侧IP配置界面说明

区域 | 说明
--- | ---
1 | Erase config：擦除配置项，设置擦除区间。
2 | OK：确认设置。

### BurnTool-MCU

#### MCU烧写界面

MCU烧写界面如图1所示。

图 1 烧写界面

表 1 MCU烧写界面说明

区域 | 说明
--- | ---
1 | Setting： Language：修改语言。 Option： Change Chip：修改产品。 Help： About：显示版本信息。
2 | Chip model：选择需要烧写的芯片。
3 | Transfer method：烧写方式。
4 | Connect：连接设备。
5 | Param setting：NV参数配置，配置界面请参见“参数配置”章节。
6 | 参数区：根据所选的Transfer method确定设置的参数。 当选择SWD和JTAG时参数为频率和调试设备，当选择CAN、UART（USB）、UART时参数为波特率，当选择I2C和SPI时参数为速率。
7 | Read back and verify after loader：加载后回读校验。
8 | Run directly after loading：加载后直接运行。
9 | Select file：选择文件。
10 | Start burn：开始升级。
11 | Mutiple burn：工厂烧写。
12 | 镜像表格：显示可被烧写的镜像信息。各列含义如下。 Name：名称。 Path：路径。 File Index：镜像在文件中的起始索引。 File Size：镜像大小。 Burn Addr：烧写的Flash起始地址。 Burn Size：擦除的Flash大小。 Type：烧写文件类型。
13 | 烧写进度。
14 | 日志视图：显示烧写过程中单板上报的日志及工具打印的日志。
15 | Select target：选择导出的文件。
16 | Addr：导出的地址或擦除地址。输入内容为16进制。
17 | Size：导出长度或擦除长度。
18 | Export：导出文件。
19 | Erase：擦除文件。
20 | Erase All：全擦。

#### 参数配置

NV参数配置如图1所示。

图 1 NV参数配置

表 1 NV参数配置界面说明

区域 | 说明
--- | ---
1 | 参数列表。
2 | File：选择保存到的文件。
3 | Save：保存到所选文件中。
4 | Effective immediately after setting：设置后立即生效。
5 | Read：读取参数； write：写入参数。

### BurnTool-USB

USB升级界面如图1所示。

图 1 USB升级界面

表 1 Dfu烧写界面说明

区域 | 说明
--- | ---
1 | Setting：包括以下菜单： USB Setting：设置USB配置信息。 Language：修改语言。 Option：包括以下菜单： Change Chip：修改产品。 Help：包括以下菜单： About：显示版本信息。
2 | Vid：设备的Vendor ID。
3 | Pid：设备的Product ID。
4 | Erase Mode：选择擦除模式。 normal：按照固件包中的参数进行擦除操作。 erase all：第一个烧写项进行全片擦除，剩余烧写项不再进行擦除操作。 no erase：不进行擦除操作。注意：该方式需要保证flash为空片或已进行全片擦除。
5 | Select file：选择格式为fwpkg的烧写镜像，并显示烧写镜像路径。
6 | Start burn：按照表格选中信息依次烧写镜像。
7 | 镜像表格：显示可被烧写的镜像信息。各列含义为： Name：名称。 Path：路径。 File Index：镜像在文件中的起始索引。 File Size：镜像大小。 Burn Addr：烧写的Flash起始地址。 Burn Size：擦除的Flash大小。 Type：通用类型，包括： 0：Loader。 1：一般镜像文件。 2：参数文件。 3：eFuse文件。 32：fota文件。
8 | 烧写进度。
9 | 日志视图：显示烧写过程中单板上报的日志及工具打印的日志。
10 | Multiple burn：进入工厂烧写界面。

### 工厂烧写

工厂烧写功能用于大批量烧写场景。在打断之后根据表格中的选中顺序发送文件。工厂烧写界面如图1所示。

图 1 工厂烧写界面示意图

表 1 工厂烧写界面说明

区域 | 说明
--- | ---
1 | Connect all：连接所有串口。 Disconnect all：断开所有已打开的串口。
2 | 回显视图：显示单板烧写状态“Doing”、“Pass”、“Fail”、“Waiting”。 串口号列表：显示当前可用的串口号。
3 | 烧写结果统计：成功数，失败数，成功率，本次烧写时间。
4 | Setting：包括以下菜单 Save config：包含以下菜单。 check COM：串口检查，根据单板返回的位置信息，把单板对应的串口排到界面对应位置，注意该功能需单板镜像支持。 Robotic Arm Com Setting：机械臂串口配置，配置后烧写单板后，会向选择的串口发送成功和失败信息。

图 2 机械臂串口设置界面

区域 | 说明
--- | ---
1 | 选择是否启用机械臂串口，勾选之后，以下参数才可以配置。
2 | COM：串口 Baud：波特率 Data Bit：数据位 Stop Bit：停止位 Parity：校验位 Flow ctrl：流控
3 | Pass info：烧写成功发送的信息，输入格式为0x32或者2。 Fail info：烧写失败发送的信息，输入格式为0x33或者3。

### 设置界面

设置界面主要用于设置串口参数，设置界面如图1所示。

图 1 设置界面示意图

表 1 设置界面说明

区域 | 说明
--- | ---
1 | Baud：波特率。各产品可支持的波特率范围不同，工具仅列出所有常用波特率，是否可正常使用以产品约束为准，一般波特率越高速度越快，但对硬件要求越高。 Data Bit：数据位。 Stop Bit：停止位。 Parity：校验位。 Flow ctrl：流控。
2 | Package size：数据传输每包大小，一般只支持1024字节，除非产品有特殊支持，否则不应该修改。 Force Read Time：串口定时读时间间隔，表示串口两次接收的时间间隔至少为N ms，默认为勾选且时间间隔为10ms（在4.4版本之后，默认强制勾选且无法修改）。默认为勾选可以防止出现如下场景： 在某些PC环境下BurnTool无法正常使用。 在一拖多场景下CPU占用率过高。 Switch baud rate after loader：在烧写完loader后切换所设置的波特率。loader在高波特率下无法烧写并且其他文件在此波特率下可以烧写时勾选其可以提升烧写速度。
3 | Independent Burn：独立烧写。勾选后工厂界面所有串口将完全独立，不做整体流程控制，不计算总烧写时间，适用于夹具为单独烧写的工厂；不勾选则工厂界面所有串口会统筹管理，烧写完成后将一起判断夹具抬起操作。 Total num：工厂界面窗口总个数。 Num per line：工厂界面每行窗口个数。 Reopen Com Everytime：勾选后在工厂烧写界面每次烧写完成后，下次开始烧写之前会重新打开串口。 Reset after success：勾选后在工厂烧写界面每次烧写完成后，会重启单板。

### 设置界面-3x

设置界面主要用于设置串口参数，设置界面如图1所示。

图 1 设置界面示意图

表 1 设置界面说明

区域 | 说明
--- | ---
1 | Baud：波特率。默认为115200，各产品可支持的波特率范围不同，工具仅列出所有常用波特率，是否可正常使用以产品约束为准。 Data Bit：数据位。 Stop Bit：停止位。 Parity：校验位。 Flow ctrl：流控。 Package size：烧写时每一包的大小。
2 | Total num：工厂界面窗口总个数（总个数范围1～32）。 Num per line：工厂界面每行窗口个数（每行窗口个数范围4～8）。 Reset after success：工厂烧写成功后是否重启单板（默认重启）。
3 | OK：确定设置，并关闭setting界面。 Cancel：取消修改，并关闭setting界面。

### 选择Jlink执行程序界面

通过“Setting”-“Jlink Settings”打开Jlink设置，用来配置Jlink执行程序路径，界面如图1所示。

图 1 选择Jlink执行程序界面

表 1 选择JJlink执行程序界面说明

区域 | 说明
--- | ---
1 | Jlink path：“...”选择Jlink执行程序所在的文件夹。
2 | OK：确定修改。 Cancel：取消修改，按照上次所选执行。

# 操作指南

## 手动烧写

### 串口烧写

1. 在BurnTool界面中单击“Select file”按钮，选择各产品编译生成的固件包，并单击“OK”。

2. 在表格中选中需要烧写的文件（请参考各产品文档中关于烧写的部分）。

3. 选择“Setting”→“Settings”，配置串口参数，默认配置如图1所示。

   > 说明： Force Read Time：定时读取的时间，以毫秒为单位。勾选时为定时读取串口，不勾选时为事件触发读取串口。适用于不勾选该选项无法正常烧录的场景。

   图 1 串口设置示例

4. 选择目标串口号并单击“Connect”按钮（单击后“Connect”变为“Disconnect”），复位单板。打断后效果如图2所示。

   图 2 打断效果示意图

5. 当界面显示字符串“CCC”时，单击“Send file”按钮。不同产品“CCC”上方的字符串可能不同。

6. 等待传输完成后结束烧写，烧写完成会出现“All images burn successfully”。烧写完成效果如图3所示。

   图 3 烧写完成示意图

> 说明： 若镜像在服务器上，并多次出现烧写镜像失败的情况，请拷贝至本地烧写

### 3x协议串口烧写

1. 参考选择Chip章节选择正确的芯片。

2. 在BurnTool界面的COM处选择串口。如图1所示

   图 1 选择串口

3. 在BurnTool界面中单击“Select file”按钮，选择产品编译生成的固件包，并单击“打开”。

4. 在表格中选中需要烧写的文件。

5. （可选）点击“Setting”→“Settings”，配置串口参数，默认配置如图2所示。

   图 2 串口设置示例

6. 单击“Start burn”按钮（单击后“Start burn”变为“Stop burn”），出现如图3所示提示，复位单板。

   图 3 复位单板提示

7. 等待传输完成后结束烧写，烧写完成会出现“All images burn successfully”。烧写完成效果如图4所示。

   图 4 烧写完成示意图

> 说明： 若上次运行BurnTool工具时通过Setting-Save Config保存了当时配置（如图5所示），在打开BurnTool时会询问是否使用上次配置进行烧写（如图6所示）。若选择“Yes”，则加载配置文件，可以酌情跳过3、4。若选择“No”，则不会加载配置文件。 图 5 保存配置示意图
> 图 6 询问是否加载配置示意图

### DFU烧写

1. 使用管理员权限打开程序（右键点击应用程序，点击以管理员身份运行，如图1所示）。

   图 1 以管理员身份运行示意图

2. 参考“选择Chip”章节选择带DFU后缀的芯片，如“XXX-USB”。

3. 选择烧写模式，如图2所示，选择dfu升级模式。

   图 2 烧写模式选择示意图

4. 根据3选择的模式选择设备或者填写设备信息。Dfu模式时选择设备信息如图3所示。Auto dfu和 Hid dfu模式时填写设备信息如图4所示。

   图 3 选择USB设备

   图 4 填写usb设备信息

5. 在BurnTool界面中单击“Select file”按钮，选择产品编译生成的固件包，并单击“打开”。

6. 在表格中选中需要烧写的文件。

7. 单击“Start burn”按钮（单击后“Start burn”变为“Stop burn”）。

8. 等待传输完成后结束烧写，烧写完成会出现“All images burn successfully”。烧写完成效果如图5所示。

   图 5 烧写完成示意图

   > 警告： 在打印“All images burn successfully”之前请一定不要断电，否则单板将有概率异常。

### JLIINK烧写

1. 参考“选择Chip”章节选择带Jlink后缀的芯片，如“XXX-Jlink”。

2. 在BurnTool界面中单击“Select file”按钮，选择产品编译生成的固件包，并单击“打开”。

3. 在表格中选中需要烧写的文件。

4. 单击“Start burn”按钮（单击后“Start burn”变为“Stop burn”）。

5. 等待传输完成后结束烧写，烧写完成会出现“All images burn successfully”。烧写完成效果如图1所示。

   图 1 烧写完成示意图

### TCP烧写

1. 在BurnTool界面中单击“Select file”按钮，选择各产品编译生成的固件包，并单击“OK”。

2. 在表格中选中需要烧写的文件（请参考各产品文档中关于烧写的部分）。

3. 配置串口服务器的ip地址和端口，并单击“Connect”按钮（单击后“Connect”变为“Disconnect”），复位单板。打断后效果如图1所示。

   图 1 打断效果示意图

4. 当界面显示字符串“CCC”时，单击“Send file”按钮。不同产品“CCC”上方的字符串可能不同。

5. 等待传输完成后结束烧写，烧写完成会出现“All images burn successfully”。烧写完成效果如图2所示。

   图 2 烧写完成示意图

### USB烧写

1. 在BurnTool界面中正确填写USB设备的Vid和Pid信息，单击“Select file”按钮，如图1所示，选择各产品编译生成的固件包，并单击“打开”。

   图 1 单击“Select file”按钮

2. 在表格中选中需要烧写的文件（请参考各产品文档中关于烧写的部分），如图2所示。

   图 2 烧写文件表格

3. 单击“Start burn”按钮，待日志窗口出现“Reset the device...”如图 等待单板复位所示，此时按下单板的复位键。工具等待单板复位超时默认为10s，如果超时时间内未检测到单板复位日志窗口会打印“Driver may not be installed. Open the device manager to confirm.No DFU capable USB device available.”，如图 检测单板复位超时所示。

   图 3 等待单板复位

   图 4 检测单板复位超时

4. 等待传输完成后结束烧写，烧写完成会出现“All images burnt successfully”。烧写完成效果如图 烧写完成示意图所示。

   图 5 烧写完成示意图

## 工厂烧写

1. 在BurnTool界面中单击“Select file”按钮，选择各产品编译生成的固件包，并单击“OK”。

2. 在表格中选中需要烧写的文件。

3. 选择“Setting”→“Settings”，配置串口参数，默认配置如图1所示。

   图 1 串口设置示例

   > 说明： Total num在研发测试中最大已压测个数为20，实际烧录最大个数上限理论不限制，一般与电脑性能、夹具、接线稳定性有关。

4. 单击“Multiple burn”按钮，打开工厂烧写窗口，若已有配置会自动读取。若无配置手动选择串口后，可以选择“Setting”→“Save config”生成配置。

5. 单击“Connect all”按钮，并复位所有单板。

6. 等待所有回显视图都显示绿色“PASS”或红色“Fail”。

## 工厂烧写-金版校准和机械臂设置

1. 在BurnTool界面中单击“Select file”按钮，选择各产品编译生成的固件包，并单击“OK”。

2. 在表格中选中需要烧写的文件。

3. 选择“Setting”→“Settings”，配置串口参数，默认配置如图1所示。

   图 1 串口设置示例

   > 说明： Total num在研发测试中最大已压测个数为20，实际烧录最大个数上限理论不限制，一般与电脑性能、夹具、接线稳定性有关。

4. 单击“Multiple burn”按钮，打开工厂烧写窗口，若已有配置会自动读取。若无配置手动选择串口后，可以选择“Setting”→“Save config”生成配置。

5. 可选步骤，如果需要使用串口检查功能，选择“Setting”，点击“Check COM”, 工具会根据单板返回的位置信息，把单板对应的串口排到界面对应位置，

   注意该功能需单板镜像支持。

6. 可选步骤，如果需要使用机械臂串口功能，选择“Setting”，点击“Robotic Arm Com Setting”,在弹出的界面配置串口信息，配置后烧写单板后，

   会向选择的串口发送成功和失败信息。

   图 2 机械臂串口设置界面

7. 单击“Connect all”按钮，并复位所有单板。

8. 等待所有回显视图都显示绿色“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烧写命令参数表

命令 | 参数 | 说明
--- | --- | ---
-com: | x | PC端的串口号（例如：1）。
-bin: | path\xxx.bin | 固件包xxx.bin的绝对路径。固件包的名称和文件类型根据各产品实际情况可能有所不同。（路径不能存在空格字符）
-signalbaud: | 115200 | RomBoot下传输固件包时的串口波特率，默认为115200bit/s。建议根据硬件支持情况，配置成921600bit/s或更高波特率，以提升烧写效率。
-burninterval: | x | 使用xms间隔发送打断报文，常用于快速启动场景。不包含此参数时，间隔则为10ms。
-forceread: | 10 | 包含此参数表示打开串口定时读功能，读数据间隔为10ms。 一般无需打开，在如下场景可考虑打开： 在某些PC环境下BurnTool无法正常使用。 在一拖多场景下CPU占用率过高。
-erasemode: | x | 擦除模式。其中： 0：正常擦除 1：全片擦除 2：不擦除
-timeout: | x | 打断的超时时间，单位ms。
-console | 无 | 使用标准输入输出，为重定向做准备。
-clearlog | 无 | 屏蔽单板打印的日志。
-onlyeraseall | 无 | 仅进行全片擦除
-onlyburn: | name | 指定烧写对应名字的文件，可重复传参，效果累加。
-reset | 无 | 烧写完成后自动重启设备。
-packagesize: | x | 每次传输的包大小，当前支持1024，2048，4096，8192
-switchafterloader | 无 | 在加载loader完成后再切换波特率。

其他典型场景

- 如果需要使用标准输入输出获取烧写过程的打印，命令如下：

      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烧写命令参数表

命令 | 参数 | 说明
--- | --- | ---
-com: | x | PC端的串口号。 说明： 参数为10进制数字。
-bin: | path\xxx.fwpkg | 固件包xxx.fwpkg的绝对路径。固件包的名称和文件类型根据各产品实际情况可能有所不同。 说明： 路径不能包含空格字符。
-signalbaud: | 115200 | 传输固件包时的串口波特率，默认为115200bit/s。 说明： 参数为10进制数字。 建议根据产品形态，硬件支持情况，实际使用情况设置合适的波特率。
-3x | 无 | 按照3x协议烧写。选择3x则不能选择dfu。
-console | 无 | 使用标准输入输出，为重定向做准备。
-timeout: | 30000 | 烧写ssb文件握手超时时间，默认为30000ms。 说明： 参数为10进制数字，单位：ms。

其他典型场景

如果需要使用标准输入输出获取烧写过程的打印，命令如下：

    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模式烧写命令参数表

命令 | 参数 | 说明
--- | --- | ---
-dfu | - | hid状态下dfu烧写模式。和-autodfu，-hiddfu互斥。
-autodfu | - | dfu状态下直接烧写模式。和-dfu, -hiddfu互斥。
-hiddfu | - | hid状态下直接进行usb烧写。和-autodfu，-dfu互斥。
-bin: | path\xxx.fwpkg | 固件包xxx.fwpkg的绝对路径。固件包的名称和文件类型根据各产品实际情况可能有所不同。 说明： 路径不能包含空格字符。
-pid: | 0x... | 待烧写设备的pid。 说明： 参数为16进制数字。
-vid： | 0x... | 待烧写设备的vid。 说明： 参数为16进制数字。
-usage: | 0x... | 待烧写设备的usage。 说明： 参数为16进制数字。
-usagepage: | 0x... | 待烧写设备的usagepage。 说明： 参数为16进制数字。
-console | 无 | 使用标准输入输出，为重定向做准备。

其他典型场景

如果需要使用标准输入输出获取烧写过程的打印，命令如下：

    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烧写命令参数表

命令 | 参数 | 说明
--- | --- | ---
-ipaddr: | 0.0.0.0 | 串口服务器的ip地址
-ipport: | 10001 | 串口服务器的端口

### 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烧写命令参数表

命令 | 参数 | 说明
--- | --- | ---
-chiptype:（必选） | xxxx | 芯片类型。
-autodfu（必选） | 无 | USB烧写模式。
-pid:（必选） | xxxx | USB设备的PID（16进制格式）。
-devicepathid: | xxxx | USB设备实例路径。
-usblocation:（必选） | xxxx | USB设备位置信息。（例如：Port_#0011.Hub_#0001）
-vid:（必选） | xxxx | USB设备的VID（16进制格式）。
-bin:（必选） | path\xxx.fwpkg | 固件包xxx.bin的绝对路径。固件包的名称和文件类型根据各产品实际情况可能有所不同。
-erasemode: | x | 擦除模式。其中： 0：正常擦除。 1：全片擦除。
-console | 无 | 使用标准输入输出，为重定向做准备。

## 读eFuse

1. 按照“串口烧写”烧写完成loader文件。

2. 单击“Import Efuse”按钮，选择eFuse配置文件。

   eFuse配置文件为ini文件（格式如图1所示）。一个eFuse项需要包括3个配置：

   - EFUSE_NAMEX：在BurnTool中显示的名称。

   - EFUSE_START_BITX：eFuse开始的bit索引。

   - EFUSE_BIT_WIDTHX：该eFuse占用的bit数。各参数结尾的X表示一个自然数，范围为1～1000。

   图 1 eFuse配置文件格式示例

3. 选择需要读取的eFuse条目，单击“Read Efuse”按钮。

4. 查看上报内容，如图2所示。

   图 2 eFuse读取结果示例

## 导出镜像

1. 不要勾选“Auto burn”和“Auto disconnect”，如图1所示，按照“串口烧写”烧写完成loader文件。

   图 1 去勾选Auto burn和Auto disconnect

2. 单击“Select target”按钮，选择导出文件的存放位置。

3. 在“addr”编辑框中输入读取的Flash起始地址，在“size”编辑框中输入读取的Flash大小。

4. 单击“Export”按钮开始导出。

5. 等待导出完成，如图2所示。

   图 2 导出文件结束示例

## 导出镜像-3x

Flash导出

1. 在BurnTool界面的COM处选择串口。如图1所示。

   图 1 选择串口

2. （可选）点击“Setting”→“Settings”，配置串口参数，默认配置如图2所示。

   图 2 串口设置示例

3. 点击“Select target”按钮，选择导出到本地路径。

4. 选择导出的起始地址和长度。如图3所示。

   图 3 选择文件路径、起始地址和长度

5. 点击“Export”开始导出。

6. 重启单板，等待导出成功。导出成功如图4所示。

   图 4 导出成功示意图

## 命令行导出

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导出命令参数表

命令 | 参数 | 说明
--- | --- | ---
-export | 无 | Flash导出操作。
-bin: | path\xxx.bin | 固件包xxx.bin的绝对路径。固件包的名称和文件类型根据各产品实际情况可能有所不同。需要烧写其中的loader文件（路径不能存在空格字符）。
-com: | x | PC端的串口号。 说明： 参数为10进制数字。
-signalbaud: | 115200 | 传输固件包时的串口波特率，默认为115200bit/s。 说明： 参数为10进制数字。 建议根据产品形态，硬件支持情况，实际使用情况设置合适的波特率。
-target: | path\xxx.bin | 导出到本地路径。
-addr: | 0x.... | 导出Flash地址。 说明： 带有0x为16进制输入，不带0x为10进制输入。
-size: | 0x.... | 导出Flash大小。 说明： 带有0x为16进制输入，不带0x为10进制输入。
-console | 无 | 使用标准输入输出，为重定向做准备。
-onlyburn: | name | 指定烧写对应名字的文件，可重复传参，效果累加。

其他典型场景

如果需要使用标准输入输出获取烧写过程的打印，命令如下：

    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导出命令参数表

命令 | 参数 | 说明
--- | --- | ---
-export | 无 | Flash导出操作。
-3x | 无 | 按照3x协议导出镜像。
-com: | x | PC端的串口号。 说明： 参数为10进制数字。
-signalbaud: | 115200 | 传输固件包时的串口波特率，默认为115200bit/s。 说明： 参数为10进制数字。 建议根据产品形态，硬件支持情况，实际使用情况设置合适的波特率。
-target: | path\xxx.bin | 导出到本地路径。
-addr: | 0x.... | 导出Flash地址。 说明： 带有0x为16进制输入，不带0x为10进制输入。
-size: | 0x.... | 导出Flash大小。 说明： 带有0x为16进制输入，不带0x为10进制输入。
-console | 无 | 使用标准输入输出，为重定向做准备。

其他典型场景

如果需要使用标准输入输出获取烧写过程的打印，命令如下：

    BurnTool.exe -export -3x -com:1 -signalbaud:115200 -target:C:\test_bin\xxx.bin -addr:0x... -size:0x... -console

## 组播升级

### 开始升级

1. 参考“选择Chip”章节选择带UPGRADE后缀的芯片，如“XXX-UPGRADE”。

2. 选择需要升级的网卡。

3. 选择升级文件。

4. 勾选表格中需要升级的内。

5. 点击“Start”按钮，开始升级。“start”、“Stop”和进度条变化如图1所示。

   图 1 正在升级时界面

### 停止升级

1. 进行“开始升级”操作。

2. 升级过程中点击“Stop”按钮，停止升级。“start”和“Stop”按钮状态如图1所示。

   图 1 按钮状态示意图

## OTA升级

1. 参考“选择Chip”章节选择带SLE后缀的芯片，如“XXX-SLE”。

2. 选择设备信息如图1所示。

   图 1 选择设备信息示意图

3. 点击“Open”按钮，打开所选设备，并将扫描到的对端设备地址加载到Address中。

4. 选择想要升级的地址，点击“Connect”连接设备，打印出"Device connected successfully"代表连接成功，如图2所示。

   图 2 连接成功示意图

5. 选择所升级的文件，如图3所示。

   图 3 选择文件示意图

6. 点击“Start”开始升级，“Start”按钮变更为“Stop”按钮（点击“Stop”按钮可停止升级），升级成功打印“Upgrade successfully”。如图4所示

   图 4 升级成功示意图

## TFTP烧写

### LUOFU、EMEI、XILING和TG0

1. 请参见“选择Chip”章节选择正确的芯片。

2. 在BurnTool界面的COM处选择串口，如图1所示。

   图 1 选择串口

3. 选择使用的PC的IP地址，如图2所示。

   图 2 选择PC的IP地址

4. 单击“IP Config”按钮配置板端IP信息，配置项如图3所示。

   图 3 板端IP配置项

5. 单击“Erase config”配置擦除项，不同的产品有不同的配置项，如图4所示。

   图 4 擦除项配置

6. 选择是否勾选Empty flash，勾选为裸烧模式，去勾选为非裸烧模式。

7. 在BurnTool界面中单击“...”按钮，选择产品编译生成的固件包，并单击“打开”，如图5所示。

   图 5 选择文件界面

8. 在表格中选中需要烧写的文件，点击“Start”开始烧写（点击后有可能需要手动重启）。

9. 等待传输完成后结束烧写，烧写完成会出现“All images burn successfully”。烧写完成效果如图6所示。

   图 6 烧写完成示意图

### TG1和TG2

1. 请参见“选择Chip”章节选择正确的芯片。

2. 选择bootloader烧写方式，选择Serial执行4，选择USB执行3。

   图 1 bootloader烧写方式

3. 填写设备的Vid和Pid，如图2所示。

   图 2 Vid、Pid填写区

4. 在BurnTool界面的com处选择串口，如图3所示。

   图 3 选择串口

5. 选择使用的PC的IP地址，如图4所示。

   图 4 选择PC的IP地址

6. 单击“IP Config”按钮配置板端IP信息，配置项如图5所示。

   图 5 板端IP配置项

7. 单击“Erase config”配置擦除项，不同的产品有不同的配置项，如图6所示。

   图 6 擦除项配置

8. 选择是否勾选Empty flash。勾选为裸烧模式，去勾选为非裸烧模式。

9. 在BurnTool界面中单击“...”按钮，选择产品编译生成的固件包，并单击“打开”。如图7所示。

   图 7 选择文件界面

10. 在表格中选中需要烧写的文件，点击“Start”开始烧写（点击后有可能需要手动重启）。

11. 等待传输完成后结束烧写，烧写完成会出现“All images burn successfully”，烧写完成效果如图8所示。

    图 8 烧写完成示意图

## MCU

### 烧写

1. 请参见“选择Chip”章节选择MCU。

2. 选择芯片、传输方式。

3. 在参数区设置对应传输方式的参数，点击“Connect”进行连接（连接时除SWD和JTAG方式外都需要重启单板，需要重启单板时会给出如图1所示的提示）。

   图 1 需重启单板提示

4. 设置是否勾选加载后回读校验和加载后直接运行。

5. 单击“Select file”按钮，选择各产品编译生成的固件包，并单击“OK”。

6. 单击“Start burn”按钮开始烧写。

7. 等待传输完成后结束烧写，烧写完成会出现“All images burn successfully”。烧写完成效果如图2所示。

   图 2 烧写完成示意图

### 擦除

1. 请参见“选择Chip”章节选择MCU。

2. 选择芯片、传输方式。

3. 在参数区设置对应传输方式的参数，点击“Connect”进行连接（连接时除SWD和JTAG方式外都需要重启单板，需要重启单板时会给出如图1所示的提示）。

   图 1 需重启单板提示

4. 设置擦除的起始位置和大小。

5. 单击“Erase”按钮开始擦除。

6. 等待擦除完成会出现“Erase successfully”。擦除完成效果如图2所示。

   图 2 烧写完成示意图

### 全部擦除

1. 请参见“选择Chip”章节选择MCU。

2. 选择芯片、传输方式。

3. 在参数区设置对应传输方式的参数，点击“Connect”进行连接（连接时除SWD和JTAG方式外都需要重启单板，需要重启单板时会给出如图1所示的提示）。

   图 1 需重启单板提示

4. 单击“EraseAll”按钮开始全部擦除。

5. 等待擦除完成会出现“Erase successfully”。擦除完成效果如图2所示。

   图 2 烧写完成示意图

### 导出

1. 请参见“选择Chip”章节选择MCU。

2. 选择芯片、传输方式。

3. 在参数区设置对应传输方式的参数，点击“Connect”进行连接（连接时除SWD和JTAG方式外都需要重启单板，需要重启单板时会给出如图1所示的提示）。

   图 1 需重启单板提示

4. 单击“Select file”按钮，填写导出文件的保存位置，并设置导出的起始位置和大小。

5. 单击“Export”按钮开始导出。

6. 等待传输完成后结束烧写，烧写完成会出现“Read successfully”。烧写完成效果如图2所示。

   图 2 烧写完成示意图

## 全部擦除

1. 不要勾选“Auto burn“和“Auto disconnect”，如图1所示，按照“串口烧写”烧写完成loader文件。

   图 1 去勾选Auto burn和Auto disconnect

2. 点击“Erase all”开始擦除，如图2所示。

   图 2 Erase all按钮

3. 等待擦除成功。

## fwpkg生成及拆分

1. 点击导入fwpkg文件。

   图 1 导入fwpkg文件

2. 编辑分区数据，Type可以直接编辑，点击+，-可以添加和删除分区，双击分区所在行的path列，可以更新该分区的bin文件，

   之后可以编辑该行的烧写地址和烧写长度。

3. 右击分区表，会弹出一个菜单栏，点击“Create new file”,可以生成编辑后的新fwpkg文件。点击"Create new file”，

   可以保存每个分区的bin文件到选择的目录下，没有显示在界面上的分区文件也会保存。

# FAQ

## 工具未进入打断状态

问题描述

单击连接、断电重启后，工具并没有进入打断状态。

解决办法

- 可能是串口选择错误或没有正常连接串口，请检查串口配置。

- 可能单板设置了1ms快速启动，需要在BurnTool“Setting”→“Burn interval”中选择2ms间隔。

- 可能使用win7系统产生部分兼容性问题，可切换至win10尝试。

## 如何获取符合格式的固件包

问题描述

如何获取BurnTool可识别的固件包。

解决办法

请参见各产品关于编译或固件生成的文档。

## 加载配置文件时出现错误提示

问题描述

在启动BurnTool后，如果同级目录或C盘BurnTool路径下有配置文件，则会提示“是否加载已存在的配置文件？”；如果选择加载配置文件且配置文件格式不正确，则会提示“文件格式错误，是否继续”。

解决办法

提示“文件格式错误，是否继续”表示当前的配置文件中有部分内容没有配置或配置值不符合预期，造成此问题的原因可能是由于手动修改过配置文件或当前版本没有主动保存过配置文件。此时可以选择不加载配置文件，全部重新手工配置并保存配置文件。

## 工厂烧写时随机串口无法进入doing状态

问题描述

因串口驱动配合问题，在工厂烧写时，可能会出现随机串口无法进入工作（doing）状态的情况。

解决办法

在“Setting”→“Settings”中查看“Reopen Com Everytime”的勾选状态。

如果未勾选，则尝试勾选并重新开始工厂烧写；如果已勾选，则尝试取消勾选并重新开始工厂烧写。

## 如何提升镜像烧录速度

问题描述

产线上烧录大镜像所需时间过长，导致生产成本增加。

解决办法

1. 将烧写工具波特率设置为所能支持的最大值（目前单板所支持最大值为6M波特率，需串口小板支持6M及以上波特率）。

2. 将每包大小设置为20480。如图1所示。

   图 1 烧写工具配置示意图

3. 按照“手动烧写”章节步骤进行烧写即可。

## 一拖多烧写时反复烧写该如何解决

问题描述

一拖多烧写时，每次烧写完成会重新开始烧写，具体表现为在没有进行手动复位的情况下，进度条达到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。

解决办法

1. BurnTool配置如下。

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

2. 开始读取Flash。

## 如何使用BurnTool进行固件全擦

问题描述

如何使用BurnTool进行固件全擦。

解决方法

按照下图步骤依次操作即可。