VOI611 固件與升級(jí)

VOI611的系統(tǒng)固件存放在外置SPI NOR Flash芯片中,系統(tǒng)上電時(shí),VOI611從SPI NOR Flash芯片中加載程序和數(shù)據(jù)并運(yùn)行,若與Flash通訊失敗或讀取到系統(tǒng)固件錯(cuò)誤(校驗(yàn)失敗或?yàn)榭眨?,則會(huì)導(dǎo)致系統(tǒng)無法運(yùn)行。

本文主要對(duì)VOI611的固件文件進(jìn)行說明、介紹升級(jí)工具和使用方法。


1. 固件燒錄與升級(jí)指南


VOI611的系統(tǒng)固件存放在外置SPI NOR Flash中,共支持以下3種升級(jí)方式:

  • 使用UART升級(jí)
  • FLASH編程器燒錄

請(qǐng)注意,如果FLASH是空片或帶有其他數(shù)據(jù)(無VOI611有效固件)將不能使用UART升級(jí),只能通過FLASH編程器將固件燒錄到FLASH內(nèi),然后焊接到電路板上;或者將FLASH焊接到電路板后使用JLink進(jìn)行固件升級(jí)操作。

如果語音模塊的FLASH內(nèi)部已經(jīng)有可運(yùn)行的 bootloader 或正常功能固件,則可以使用UART工具將語音模塊和電腦進(jìn)行連接,運(yùn)行探境科技專用的上位機(jī)升級(jí)軟件進(jìn)行固件升級(jí)更新,具體操作參見如下章節(jié)。

1.1 使用UART升級(jí)

使用UART升級(jí)固件是最方便的升級(jí)方式,VOI611目前支持從UART0端口接收升級(jí)數(shù)據(jù)寫入到 Flash,提供圖形界面升級(jí)工具和腳本升級(jí)工具兩種操作方式。

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

UART升級(jí)方式依賴于系統(tǒng)當(dāng)前內(nèi)置的 bootloaderbootloader 也是存放在Flash中的),如果您使用的 Flash 是空片(無VOI611有效數(shù)據(jù))將無法通過此種方式升級(jí),需要通過 JLink 或者 Flash 編程器方式升級(jí)。若當(dāng)前的 bootloader 版本過舊,可能升級(jí)速率受限(<=115200bps)或無法兼容圖形工具升級(jí),也需要通過 JLink 或者 Flash 編程器方式升級(jí)。

VOI611的串口升級(jí)速度可設(shè)置為以下幾檔:

  • 115200bps
  • 230400bps
  • 576000bps (常用)
  • 921600bps
  • 1152000bps (USB轉(zhuǎn)UART工具需支持該速率)
  • 2340571bps (USB轉(zhuǎn)UART工具需支持該速率)

需要注意的是,VOI611芯片的UART邏輯電平是3.3V/0V,若直接接入5V電平可能會(huì)通信失敗,甚至損壞VOI611芯片。模組 A/B 板載了電平轉(zhuǎn)換,4pin 連接器中間的串口為 5V 邏輯電平。

您可以使用自備的USB轉(zhuǎn)UART工具,也可以前往下面的鏈接購買推薦的工具。

點(diǎn)擊這里跳轉(zhuǎn):淘寶網(wǎng) FT232RL USB轉(zhuǎn)UART工具


1.1.1 圖形界面升級(jí)工具(推薦使用)

使用圖形界面升級(jí)工具,無需安裝到系統(tǒng),直接運(yùn)行即可,支持批量多路并行升級(jí)。

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

點(diǎn)擊這里下載:upgrade_toolV1.7.zip

  • 升級(jí)操作步驟如下:

(準(zhǔn)備工作)

  1. 將 USB 串口插入電腦,確定驅(qū)動(dòng)程序安裝正常,在設(shè)備管理器中可以看到端口號(hào),斷開設(shè)備的喇叭。
  2. 啟動(dòng)圖形界面升級(jí)工具,進(jìn)入主界面。

(升級(jí) boot 和 para)

  1. 點(diǎn)擊“選擇固件”,選擇指定的升級(jí)文件 boot_iet_upgrade.bin / para_iet_upgrade.bin,注意路徑不要有中文跟和空格,選中后返回主界面。
  2. 主界面左側(cè),選擇串口端口號(hào),以及升級(jí)速率,打勾。(支持多個(gè)設(shè)備同時(shí)升級(jí))
  3. 點(diǎn)擊“升級(jí)”,期間根據(jù)進(jìn)度欄提示進(jìn)行操作,最終升級(jí)完成,斷開并重新連接模塊,使芯片重啟

(升級(jí)固件)

  1. 點(diǎn)擊“選擇固件”,修改要升級(jí)的文件為 iet_upgrade.bin / iet_upgrade_01.bin / iet_upgrade_02.bin 等,注意路徑不要有中文跟和空格,選中后返回主界面。
  2. 主界面左側(cè),選擇串口端口號(hào),以及升級(jí)速率,打勾。(支持多個(gè)設(shè)備同時(shí)升級(jí))
  3. 點(diǎn)擊“升級(jí)”,期間根據(jù)進(jìn)度欄提示進(jìn)行操作,最終升級(jí)完成,斷開并重新連接模塊,使芯片重啟

(完成)

  1. 根據(jù)固件功能說明,驗(yàn)證升級(jí)是否成功。


  • 升級(jí)操作視頻

視頻 - 使用upgrade_tool升級(jí)VOI611(模組B)

大多數(shù)情況下,開發(fā)者使用默認(rèn)的配置區(qū)參數(shù)。此時(shí),您只需要選中 iet_upgrade.bin (包括 iet_upgrade_01.bin / iet_upgrade_02.bin 等)文件進(jìn)行更新,即可完成升級(jí),如視頻所示。

根據(jù)個(gè)別項(xiàng)目需求,開發(fā)者可能會(huì)使用定制的配置區(qū)參數(shù)(尤其是早期的低版本固件),則需要先更新 boot_iet_upgrade.bin / para_iet_upgrade.bin 文件,升級(jí)完成后重啟,再執(zhí)行上面的步驟更新 iet_upgrade.bin 等文件,即可完成升級(jí)。


1.2 FLASH編程器燒錄

如本文開頭所述,VOI611的系統(tǒng)固件存放在外置SPI NOR Flash芯片中,直接更換Flash中的內(nèi)容是最徹底的升級(jí)方法。這種升級(jí)方式不依賴 VOI611 的任何資源。

如果您使用本方法來升級(jí)已貼片的語音模塊,則需要先用硬件工具將 Flash 芯片拆下,通過第三方燒錄器完成文件燒寫,再將芯片焊接在模塊的原位置。

您可以使用自備的 Flash 燒錄工具,也可以前往下面的鏈接購買推薦的工具。

點(diǎn)擊這里跳轉(zhuǎn):淘寶網(wǎng) SPI FLASH量產(chǎn)型燒錄器

由于涉及硬件操作,請(qǐng)務(wù)必謹(jǐn)慎操作,避免損害模塊電路板,注意安全。


2. 固件文件說明


VOI611的固件程序分為多個(gè)*.bin文件,分別使用在不同的升級(jí)方法以及升級(jí)需求。

package_top_view_700x212

如上圖所示,VOI611的固件文件主要有3類,右側(cè)是特定內(nèi)容的文件、左側(cè) iet_flash_xMB.bin 和中間 iet_upgrade.bin 是合并了右側(cè)所有的 *.bin 的整合文件,接下來是針對(duì)每個(gè)文件的詳細(xì)介紹。


固件文件功能描述

文件名稱 功能 升級(jí)方式
iet_flash_xMB_checksum.bin Flash芯片的完整鏡像文件,此文件包含該版本所有的固件內(nèi)容 Flash編程器對(duì)SPI NOR Flash直接燒錄
iet_upgrade.bin
iet_upgrade_x.bin
用于將語音模塊中的舊固件升級(jí)到新固件 UART 升級(jí)
boot_iet_upgrade.bin bootloader 軟件升級(jí)包,固定存放在指定的 Flash 區(qū)域 UART 升級(jí)
para_iet_upgrade.bin 語音芯片的配置參數(shù)升級(jí)包,固定存放在指定的 Flash 區(qū)域 UART 升級(jí)
app_iet_upgradebin 應(yīng)用軟件程序的升級(jí)包,包含芯片正常工作的軟件邏輯 UART 升級(jí)
wav_iet_upgrade.bin 提示音的升級(jí)包,用于存放提示音文件 UART 升級(jí)
weight_iet_upgrade.bin 語音模型的升級(jí)包,用于存放語音模型權(quán)重文件 UART 升級(jí)