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,提供图形界面升级工具和脚本升级工具两种操作方式。
UART
-----> VOI611 -----SPI
-----> FlashUART升级方式依赖于系统当前内置的 bootloader
(bootloader
也是存放在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
- 升级操作步骤如下:
(准备工作)
- 将 USB 串口插入电脑,确定驱动程序安装正常,在设备管理器中可以看到端口号,断开设备的喇叭。
- 启动图形界面升级工具,进入主界面。
(升级 boot 和 para)
- 点击“选择固件”,选择指定的升级文件
boot_iet_upgrade.bin
/para_iet_upgrade.bin
,注意路径不要有中文跟和空格,选中后返回主界面。 - 主界面左侧,选择串口端口号,以及升级速率,打勾。(支持多个设备同时升级)
- 点击“升级”,期间根据进度栏提示进行操作,最终升级完成,断开并重新连接模块,使芯片重启。
(升级固件)
- 点击“选择固件”,修改要升级的文件为
iet_upgrade.bin
/iet_upgrade_01.bin
/iet_upgrade_02.bin
等,注意路径不要有中文跟和空格,选中后返回主界面。 - 主界面左侧,选择串口端口号,以及升级速率,打勾。(支持多个设备同时升级)
- 点击“升级”,期间根据进度栏提示进行操作,最终升级完成,断开并重新连接模块,使芯片重启。
(完成)
- 根据固件功能说明,验证升级是否成功。
- 升级操作视频
大多数情况下,开发者使用默认的配置区参数。此时,您只需要选中 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
文件,分别使用在不同的升级方法以及升级需求。
如上图所示,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 升级 |