跳转至

串口升级工具使用说明

1. 概述

本文档为我司串口升级工具 PACK_UPDATE_TOOL.exe 使用说明书,该工具需要在Windows系统中运行,以图形界面方式在电脑上显示,用户可点击对应图标选择需要的功能,支持中英文显示,芯片选型(CI110X系列芯片/ CI112X系列芯片/ CI13XX系列芯片等)界面切换等功能,方便快速打包生成固件,并配合USB串口设备帮助模块板更新固件程序。

下面从工具获取方式、工具包含功能、工具使用说明、常见错误处理等几个方面展开介绍。


2. 工具获取方式

  1. 登录 ☞启英泰伦语音AI平台 开发资料中获取,工具名称为:PACK_UPDATE_TOOLX.X.X.exe。
  2. SDK包的工程目录下已存放该工具,如:CI11XX_SDK\tools\PACK_UPDATE_TOOL.exe。其他芯片系列同理。
  3. 在CI112X和CI110X系列芯片的SDK包的工程目录下:双击(CI11XX_SDK\sample\internal\sample_xxx\firmware\打包升级.bat)文件也可以打开 PACK_UPDATE_TOOL.exe。
  4. 在CI13XX和CI13LCX等后续系列芯片的SDK包的工程目录下:双击(CI13XX_SDK\projects\xxx_sample\firmware\打包升级.bat)文件也可以打开 PACK_UPDATE_TOOL.exe。

3. 工具包含功能

3.1. 主界面功能介绍

  • 双击运行 PACK_UPDATE_TOOL.exe (以下以最新版本为例进行介绍),第一次打开工具,会让用户选择芯片系列和芯片型号,且工具同级目录下会生成config.ini文件(该文件保存工具界面修改的芯片型号等信息),只要存在config.ini文件,之后每次打开工具,不会再弹出下图的界面。

整体开发板

  • 选择完芯片系列和芯片型号之后,可以看到下图所示主界面。

整体开发板

(1)芯片系列类别选择:选择芯片系列类别,有CI110X系列、CI112X系列、CI130X系列等。

(2)芯片型号类别选择:选择芯片型号类别,只会显示当前芯片系列包含的芯片型号。

(3)工具界面显示语言选择:选择显示的语言,有English和中文。

(4)固件打包:点击后进入固件打包界面。

(5)固件升级:点击后进入固件升级界面。

(6)检查版本:点击后检查串口升级工具的版本,联网可更新最新版本。

(7)退出工具:点击后退出该工具。

(8)按下“F1”查看帮助:离线查看串口升级工具更多说明。

(9)菜单:其他的功能选项。

  • 菜单包含下列功能:

整体开发板

(1)固件打包:点击后进入固件打包界面。

(2)固件升级:点击后进入固件升级界面。

(3)显示固件信息:点击后进入显示固件信息界面,选择需要解析的固件,显示固件分区地址、大小等信息。

(4)擦除设备FLASH:点击后进入擦除设备FLASH界面,擦除FLASH的内容。

(5)读设备内固件校验码:点击后进入读设备内固件校验码界面,若芯片FLASH已烧录有固件,能读取设备内的固件校验码,同被烧录的固件校验码对比。

(6)读设备内SN码:点击后进入读设备内SN码界面,若FLASH安全寄存器内存储了SN码,能读取内容并显示。

(7)退出工具:点击后退出该工具。

3.2. 固件打包功能介绍

  • 点击主界面(固件打包)按钮,可以进入下图所示的固件打包界面。

整体开发板

(1)Config(固件基础信息配置)

  • 厂商编号:可填对应数字,或保持默认。
  • 产品编号:可填对应数字,或保持默认。
  • 硬件名称:可填中/英文,或保持默认。
  • 硬件版本:可修改成标记版本的数字,或保持默认。
  • 软件名称:可填中/英文,或保持默认,或保持默认。
  • 软件版本:可修改成标记版本的数字,或保持默认。

注意

打包生成的固件名,由软件名称和软件版本共同组成,例如 Firmware_V200.bin**或**Firmware_V2.0.0.bin

(2)User(用户代码存放分区)

  • 文件路径:./user_code/user_code.bin。或点击右方省略图标,在工程目录(CI13XX_SDK\projects\xxx_sample\firmware\user_code\)下选择user_code.bin。
  • 预留大小:按0x1000的整数倍增加减小,或保持默认。
  • 当前版本:user_code.bin的版本号,可保持默认。

(3)ASR(语言模型存放分区)

  • 文件路径:./asr/asr.bin。或点击右方省略图标,在工程目录(CI13XX_SDK\projects\xxx_sample\firmware\asr\)下选择asr.bin。
  • 预留大小:按0x1000的整数倍增加减小,或保持默认。
  • 当前版本:asr.bin的版本号,可保持默认。

(4)DNN(声学模型存放分区)

  • 文件路径:./dnn/dnn.bin。或点击右方省略图标,在工程目录(CI13XX_SDK\projects\xxx_sample\firmware\dnn\)下选择dnn.bin。
  • 预留大小:按0x1000的整数倍增加减小,或保持默认。
  • 当前版本:dnn.bin的版本号,可保持默认。

(5)Voice(播报音存放分区)

  • 文件路径:./voice/voice.bin。或点击右方省略图标,在工程目录(CI13XX_SDK\projects\xxx_sample\firmware\voice\)下选择voice.bin。
  • 预留大小:按0x1000的整数倍增加减小,或保持默认。
  • 当前版本:voice.bin的版本号,可保持默认。

(6)UserFile(命令词信息表存放分区)

  • 文件路径:./user_file/user_file.bin。或点击右方省略图标,在工程目录(CI13XX_SDK\projects\xxx_sample\firmware\user_file\)下选择user_file.bin。
  • 预留大小:按0x1000的整数倍增加减小,或保持默认。
  • 当前版本:User_File.bin的版本号,可保持默认。
  • 添加UserFile:不需要打包user_file.bin时可去掉勾选。

(7)ConsumerData(NVDATA数据存放分区)

  • 预留大小:按0x1000的整数倍增加减小,或保持默认。
  • Flash大小:现支持4M8M16M32M大小的FLASH。

(8)按钮功能

  • 芯片系列类别选择:选择CI110X系列、CI112X系列和CI13XX系列等。
  • 芯片型号类别选择:只会选择当前芯片系列包含的芯片型号。
  • 恢复默认:将界面所有选项恢复到默认值。
  • 自动分配:无需手动设置分区预留大小,点(自动分配)按钮,工具会根据asr.bin等文件大小分配分区。
  • 打包固件:在资源文件目录下生成固件文件。
  • 固件升级:切换到固件升级界面。
  • 上级目录:回到上级工具主界面。
  • 退出工具:退出工具。

3.3. 固件升级功能介绍

  • 点击主界面(固件升级)按钮,或固件打包界面的(固件升级)按钮,均可进入下图所示的固件升级界面。

整体开发板

(1)固件路径

  • 选择固件:选择固件所在路径。

(2)串口选择配置及升级进度条

  • COMX:选择USB串口使用的COM编号。
  • %X:固件升级进度百分比。
  • 白框:升级过程中文字提示。
  • 串口波特率选择:115200 / 230400 / 460800 / 921600 / 1000000 / 1500000 / 2000000。
  • COMX号选中框:在使用的COMX后选中即显示绿色的勾符号。

(3)鉴权文件

  • 鉴权文件:选中打勾后,会显示有几份鉴权文件。鉴权文件用于离在线连接云端时使用。
  • 路径:保持默认。或在工程目录选择(CI13XX_SDK\projects\xxx_sample\firmware)。

注意

鉴权文件存放目录为:CI13XX_SDK\projects\xxx_sample\firmware\authentication_file\valid\鉴权文件。

(4)加密

  • 加密:无/标准加密/自定义加密算法。
  • 密码/路径:当加密方式选择标准加密时,这里填写密码。当选择自定义加密算法时,这里选择算法文件路径。

(5)日志输出

  • 日志输出:可勾选使能显示固件的输出日志。
  • 串口号:日志输出的串口号
  • 波特率:日志输出的波特率115200 / 921600

(6)按钮功能

  • 强制更新所有分区:勾选后,会更新所有分区。不勾选,会只更新改动的部分。
  • 擦除NV:勾选后,升级时会把FLASH里的NV信息擦除。
  • 升级完成后自动运行:勾选后,升级完成程序会自动运行,不勾选则需要手动给板子断电上电才会运行。
  • 全选:同时选中所有串口号,可同时烧录多块板子。
  • 芯片系列类别选择:选择CI110X系列、CI112X系列和CI13XX系列等。
  • 芯片型号类别选择:只会选择当前芯片系列包含的芯片型号。
  • 上级目录:退回到上级界面。
  • 退出工具:退出工具。

(7)工具版本等信息

  • 工具版本:当前工具的版本号
  • 固件大小:固件的字节数,1M的固件最大为1024*1024个bytes
  • 固件校验码:用打包生成的固件,计算所有内容的固件校验码。
  • 升级成功次数:所有串口号累计升级成功的次数,能从config.ini读取显示,也会保存到config.ini文件中。
  • 升级失败次数:所有串口号累计升级失败的次数,能从config.ini读取显示,也会保存到config.ini文件中。
  • 清除次数:可以清除次数,会保存到config.ini文件中

4. 工具使用说明

4.1. 固件打包

  • 第一步:进入如下图所示固件打包界面,填写Config配置信息,使用默认固件分区信息区内容。

整体开发板

  • 第二步:点击上图中(打包固件)按钮,打包成功会显示下列提示框。

整体开发板

点击(打包固件)按钮后,若出现其他错误提示框,请查看(第6章-常见错误处理)解决问题。

4.2. 固件升级

  • 第一步:进入如下图所示固件升级界面。

整体开发板

  • 第二步:配置以下信息。

(1)选择固件:查找需要下载的固件,默认为4.1节打包完成的固件。

(2)鉴权文件:离线SDK一般不用,离在线SDK需要时请参考本文档4.3节。

(3)加密:参照SDK文档 ☞《FLASH加密功能使用说明》

(4)密码/路径:用标准加密时点击“眼睛”图标显示密码。用自定义加密算法时才能打开“…”路径。

(5)强制更新所有分区:强制更新bootloader等所有分区。不勾选则只更新改动部分。

(6)擦除NV:擦除原来FLASH存储的NV数据,默认选中。

(7)全选:当进行大量升级时,可选中所有串口。

  • 第三步:连接硬件。

(1)进行到这里时需给板子连线,插上麦克风,SDK默认配置UART0为升级串口,USB的TX连接语音板子的RX0,USB的RX连接语音板子的TX0,USB的GND连接语音板子的GND,用跳线帽或杜邦线短接PG_EN脚到3.3V,进入升级模式。

(2)在对应COM编号后,可修改串口波特率,这里使用默认的921600,在对应COM编号后的蓝色框上打钩,选中串口。

(3)准备好上述步骤,使用冷启动方式,即将USB的5V接到板子供电5V接口上,上电即可下载程序。下载成功界面如下图所示。

整体开发板

4.3. 鉴权文件

  • 离线SDK一般不用,离在线SDK需要。打开串口工具 **PACK_UPDATE_TOOL.exe**后,会生成一个空目录(authentication_file\vaild),可以将鉴权文件放在里面。

(1)当authentication_file\vaild目录下无鉴权文件时,在升级固件界面,点击“鉴权文件”后的蓝色框,是下列结果,显示0份鉴权文件,且提示没有可用的鉴权文件。

整体开发板

整体开发板

(2)如需使用鉴权文件,把鉴权文件存放在authentication_file\valid目录内,规定鉴权文件总大小不能超过4K。存放3个鉴权文件到authentication_file\valid目录后,点击“鉴权文件”后面的蓝色框,是下列结果。同时会在authentication_file目录下自动生成invalid空目录。

整体开发板

(3)升级完成后,鉴权文件界面会显示”0份鉴权文件”,表示刚刚的鉴权文件已经烧录成功,且valid目录下鉴权文件会被移动到invalid目录。


5. 显示固件信息界面

  • 工具可以解析固件信息,选择任意固件,会将固件的路径、大小、校验码、软件名称、软件版本、芯片系列、固件格式、打包该固件的工具版本、分区地址和大小等信息显示出来。

  • 点首页菜单的【显示固件信息】选项:

整体开发板

  • 进入显示固件信息界面:

整体开发板

6. 擦除设备FLASH

  • 工具可以擦除设备FLASH的内容,用法和升级固件一样

  • 点首页菜单的【擦除设备FLASH】选项:

整体开发板

  • 进入擦除设备FLASH界面:

整体开发板

7. 读设备内固件校验码

  • 工具可以读取设备内固件校验码,用法和升级固件一样

8. 读设备内SN码

  • 点首页菜单的【读设备内SN码】选项,进入读SN码的界面,用法和升级固件一样:

整体开发板

9. 常见错误处理

9.1. 分区User:无法打开文件或文件不存在,请检查路径!

  • 如果出现下列提示,一般表示程序还未编译,没有生成user.bin。

整体开发板

9.2. 分区ASR:无法打开文件或文件不存在,请检查路径!

  • 如果出现下列提示,表示还没有通过(批量处理工具)生成asr.bin等其他文件。

整体开发板

9.3. 分区User:文件过大,超出预留大小!

  • 如果出现下列分区相关提示,一般需修改User分区预留大小。

整体开发板

  • 假如实际User分区需求为0x28046,预留只有0x26000,可修改增加0x3000预留为0x29000,选择另外一个其他分区(或DNN或ASR或Voice)对应减少0x3000。

  • 预留大小按照0x1000的整数倍进行配置,配置预留大小后需要刷新地址。

  • 如果客户制作的命令词很多,则一般需要增加UserFile分区预留大小。

  • 如果所有分区都已调到极限,还是不够,那说明FLASH大小不能满足需求,要么更换更大的FLASH,要么精简某些分区资源。更换Flash后,根据Flash型号修改Flash大小。

  • 也能点(自动分配)按钮,工具会根据asr.bin等文件大小分配分区。

整体开发板