天天看點

QCC512x QCC302x GAIA OTA DFU 更新(earbud)QCC512x QCC302x GAIA OTA DFU 更新(earbud)

QCC512x QCC302x GAIA OTA DFU 更新(earbud)

1、不能 DFU 更新的 filesystems:

  1. Read-Write (RW) FileSystem
  2. Device Configuration FileSystem (dev_cfg_filesystem)
  3. Apps. RW Configuration Keys (user_ps_filesystem)

2、修改工程,打開 DFU 功能

2.1 打開 DFU 宏

在工程屬性裡,包含 INCLUDE_DFU 這個宏,才能夠使用 DFU 功能。

QCC512x QCC302x GAIA OTA DFU 更新(earbud)QCC512x QCC302x GAIA OTA DFU 更新(earbud)

2.2 修改進入 DFU 的設定

工程預設進入 DFU 的限制條件太多,以至于很難進入 DFU ,這這進入了之後,又不能夠更新,下面修改一下進入的限制,進而能夠實作比較容易的進入 DFU 更新。

av_headset_config.h

搜尋 “DFU” 關鍵字,找到 DFU 相關的配置,将其改為 TRUE。

QCC512x QCC302x GAIA OTA DFU 更新(earbud)QCC512x QCC302x GAIA OTA DFU 更新(earbud)

av_headset_ui.c

搜尋 “APP_BUTTON_DFU” 關鍵字,找到進入 DFU 的入口,将其中一部分的判斷條件去掉,進而能夠簡單的進入到 DFU 模式。

修改的方式如下:

QCC512x QCC302x GAIA OTA DFU 更新(earbud)QCC512x QCC302x GAIA OTA DFU 更新(earbud)

3、生成 DFU 檔案

3.1 生成 DFU security

同一個工程,這個步驟隻需執行一次。工具欄選擇 Tool --> Setup DFU security.

下面出來提示框,直接選擇預設的路徑,不用修改。

QCC512x QCC302x GAIA OTA DFU 更新(earbud)QCC512x QCC302x GAIA OTA DFU 更新(earbud)

3.2 Rebuild 工程

執行上一步後,需要進行 Rebuild 操作,提示 rebuild lib 工程,但是建議整個工程 rebuild 一下,不過耗時有點久。工具欄選擇 Build --> Rebuild All。

3.3 Deploy 工程

需要将重新生成的代碼下載下傳到闆子上,後續才能夠執行 DFU 操作。

工具欄選擇 Build -->Deploy All。

3.4 生成 DFU 檔案

(1)每次有修改的内容後,如果需要生成更新檔案,隻需要重複該步驟。工具欄選擇 Tool --> Build DFU file。

QCC512x QCC302x GAIA OTA DFU 更新(earbud)QCC512x QCC302x GAIA OTA DFU 更新(earbud)

(2)儲存在預設的工程路徑。

(3)選擇第一個,Sign all projects,然後點選 Proceed。

QCC512x QCC302x GAIA OTA DFU 更新(earbud)QCC512x QCC302x GAIA OTA DFU 更新(earbud)

(4)根據需要選擇需要打包的工程,建議修改了哪個就選哪個,不然更新檔案太大,會延長更新的時間。

QCC512x QCC302x GAIA OTA DFU 更新(earbud)QCC512x QCC302x GAIA OTA DFU 更新(earbud)

(5)選擇不加密。

QCC512x QCC302x GAIA OTA DFU 更新(earbud)QCC512x QCC302x GAIA OTA DFU 更新(earbud)

(6)生成的 DFU 檔案路徑在 MDE的輸出視窗顯示,可以複制路徑,直接拷貝到手機進行更新。

QCC512x QCC302x GAIA OTA DFU 更新(earbud)QCC512x QCC302x GAIA OTA DFU 更新(earbud)

4、執行更新

4.1 耳機進入DFU模式

earbud 工程想要 DFU 更新,必須先進入耳機的 DFU 模式,才能夠進行更新。

進入方法(原始代碼):

(1)在 out of case 狀态下,長按電源鍵12秒,聽到3聲提示音,松手,然後再聽到三聲音調稍低的聲音,即已經進入了 DFU 模式。

(2)放入充電盒,置于 in case 狀态,由于進入了 DFU 狀态,是以,放入倉内,藍牙是不會斷開連接配接的。

4.2 通過 GAIA 實作 OTA DFU

打開 gaia control app,在進入 DFU 模式後,一分鐘内,選擇生成的 bin 固件,并且執行更新。此處的時間可以通過 av_headset_config.h 來配置

4.3 通過GAIA來發送進入DFU指令

耳機進入DFU模式,需要手動進入,這個地方對使用者使用的體驗可能不太友好,是以,可以考慮增加一個GAIA 接口,通過APP發送指令來進入 DFU 模式,此處需要對 GAIA control APP 進行改寫,增加一定的接口,後續更新。

繼續閱讀