VOI611 固件與升級

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

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


1. 固件燒錄與升級指南


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

  • 使用UART升級
  • FLASH編程器燒錄

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

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

1.1 使用UART升級

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

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

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

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

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

需要注意的是,VOI611芯片的UART邏輯電平是3.3V/0V,若直接接入5V電平可能會通信失敗,甚至損壞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 圖形界面升級工具(推薦使用)

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

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

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

  • 升級操作步驟如下:

(準(zhǔn)備工作)

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

(升級 boot 和 para)

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

(升級固件)

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

(完成)

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


  • 升級操作視頻

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

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

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


1.2 FLASH編程器燒錄

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

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

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

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

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


2. 固件文件說明


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

package_top_view_700x212

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


固件文件功能描述

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