VOI611 固件与升级

VOI611的系统固件存放在外置SPI NOR Flash芯片中,系统上电时,VOI611从SPI NOR Flash芯片中加载程序和数据并运行,若与Flash通讯失败或读取到系统固件错误(校验失败或为空),则会导致系统无法运行。

本文主要对VOI611的固件文件进行说明、介绍升级工具和使用方法。


1. 固件烧录与升级指南


VOI611的系统固件存放在外置SPI NOR Flash中,共支持以下3种升级方式:

  • 使用UART升级
  • FLASH编程器烧录

请注意,如果FLASH是空片或带有其他数据(无VOI611有效固件)将不能使用UART升级,只能通过FLASH编程器将固件烧录到FLASH内,然后焊接到电路板上;或者将FLASH焊接到电路板后使用JLink进行固件升级操作。

如果语音模块的FLASH内部已经有可运行的 bootloader 或正常功能固件,则可以使用UART工具将语音模块和电脑进行连接,运行探境科技专用的上位机升级软件进行固件升级更新,具体操作参见如下章节。

1.1 使用UART升级

使用UART升级固件是最方便的升级方式,VOI611目前支持从UART0端口接收升级数据写入到 Flash,提供图形界面升级工具和脚本升级工具两种操作方式。

PC -----UART-----> VOI611 -----SPI-----> Flash

UART升级方式依赖于系统当前内置的 bootloaderbootloader 也是存放在Flash中的),如果您使用的 Flash 是空片(无VOI611有效数据)将无法通过此种方式升级,需要通过 JLink 或者 Flash 编程器方式升级。若当前的 bootloader 版本过旧,可能升级速率受限(<=115200bps)或无法兼容图形工具升级,也需要通过 JLink 或者 Flash 编程器方式升级。

VOI611的串口升级速度可设置为以下几档:

  • 115200bps
  • 230400bps
  • 576000bps (常用)
  • 921600bps
  • 1152000bps (USB转UART工具需支持该速率)
  • 2340571bps (USB转UART工具需支持该速率)

需要注意的是,VOI611芯片的UART逻辑电平是3.3V/0V,若直接接入5V电平可能会通信失败,甚至损坏VOI611芯片。模组 A/B 板载了电平转换,4pin 连接器中间的串口为 5V 逻辑电平。

您可以使用自备的USB转UART工具,也可以前往下面的链接购买推荐的工具。

点击这里跳转:淘宝网 FT232RL USB转UART工具


1.1.1 图形界面升级工具(推荐使用)

使用图形界面升级工具,无需安装到系统,直接运行即可,支持批量多路并行升级。

注意:工具和固件包路径均不支持包含中文或空格,建议解压到 d:\upgrade_tool\ 使用

点击这里下载:upgrade_toolV1.7.zip

  • 升级操作步骤如下:

(准备工作)

  1. 将 USB 串口插入电脑,确定驱动程序安装正常,在设备管理器中可以看到端口号,断开设备的喇叭。
  2. 启动图形界面升级工具,进入主界面。

(升级 boot 和 para)

  1. 点击“选择固件”,选择指定的升级文件 boot_iet_upgrade.bin / para_iet_upgrade.bin,注意路径不要有中文跟和空格,选中后返回主界面。
  2. 主界面左侧,选择串口端口号,以及升级速率,打勾。(支持多个设备同时升级)
  3. 点击“升级”,期间根据进度栏提示进行操作,最终升级完成,断开并重新连接模块,使芯片重启

(升级固件)

  1. 点击“选择固件”,修改要升级的文件为 iet_upgrade.bin / iet_upgrade_01.bin / iet_upgrade_02.bin 等,注意路径不要有中文跟和空格,选中后返回主界面。
  2. 主界面左侧,选择串口端口号,以及升级速率,打勾。(支持多个设备同时升级)
  3. 点击“升级”,期间根据进度栏提示进行操作,最终升级完成,断开并重新连接模块,使芯片重启

(完成)

  1. 根据固件功能说明,验证升级是否成功。


  • 升级操作视频

视频 - 使用upgrade_tool升级VOI611(模组B)

大多数情况下,开发者使用默认的配置区参数。此时,您只需要选中 iet_upgrade.bin (包括 iet_upgrade_01.bin / iet_upgrade_02.bin 等)文件进行更新,即可完成升级,如视频所示。

根据个别项目需求,开发者可能会使用定制的配置区参数(尤其是早期的低版本固件),则需要先更新 boot_iet_upgrade.bin / para_iet_upgrade.bin 文件,升级完成后重启,再执行上面的步骤更新 iet_upgrade.bin 等文件,即可完成升级。


1.2 FLASH编程器烧录

如本文开头所述,VOI611的系统固件存放在外置SPI NOR Flash芯片中,直接更换Flash中的内容是最彻底的升级方法。这种升级方式不依赖 VOI611 的任何资源。

如果您使用本方法来升级已贴片的语音模块,则需要先用硬件工具将 Flash 芯片拆下,通过第三方烧录器完成文件烧写,再将芯片焊接在模块的原位置。

您可以使用自备的 Flash 烧录工具,也可以前往下面的链接购买推荐的工具。

点击这里跳转:淘宝网 SPI FLASH量产型烧录器

由于涉及硬件操作,请务必谨慎操作,避免损害模块电路板,注意安全。


2. 固件文件说明


VOI611的固件程序分为多个*.bin文件,分别使用在不同的升级方法以及升级需求。

package_top_view_700x212

如上图所示,VOI611的固件文件主要有3类,右侧是特定内容的文件、左侧 iet_flash_xMB.bin 和中间 iet_upgrade.bin 是合并了右侧所有的 *.bin 的整合文件,接下来是针对每个文件的详细介绍。


固件文件功能描述

文件名称 功能 升级方式
iet_flash_xMB_checksum.bin Flash芯片的完整镜像文件,此文件包含该版本所有的固件内容 Flash编程器对SPI NOR Flash直接烧录
iet_upgrade.bin
iet_upgrade_x.bin
用于将语音模块中的旧固件升级到新固件 UART 升级
boot_iet_upgrade.bin bootloader 软件升级包,固定存放在指定的 Flash 区域 UART 升级
para_iet_upgrade.bin 语音芯片的配置参数升级包,固定存放在指定的 Flash 区域 UART 升级
app_iet_upgradebin 应用软件程序的升级包,包含芯片正常工作的软件逻辑 UART 升级
wav_iet_upgrade.bin 提示音的升级包,用于存放提示音文件 UART 升级
weight_iet_upgrade.bin 语音模型的升级包,用于存放语音模型权重文件 UART 升级