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 功能。
在这里插入图片描述

2.2 修改进入 DFU 的设置

工程默认进入 DFU 的限制条件太多,以至于很难进入 DFU ,这这进入了之后,又不能够升级,下面修改一下进入的限制,从而能够实现比较容易的进入 DFU 升级。
av_headset_config.h
搜索 “DFU” 关键字,找到 DFU 相关的配置,将其改为 TRUE。
QCC512x QCC302x GAIA OTA DFU 升级(earbud)_第1张图片
av_headset_ui.c
搜索 “APP_BUTTON_DFU” 关键字,找到进入 DFU 的入口,将其中一部分的判断条件去掉,从而能够简单的进入到 DFU 模式。
修改的方式如下:
QCC512x QCC302x GAIA OTA DFU 升级(earbud)_第2张图片

3、生成 DFU 文件

3.1 生成 DFU security

同一个工程,这个步骤只需执行一次。工具栏选择 Tool --> Setup DFU security.
下面出来提示框,直接选择默认的路径,不用修改。
在这里插入图片描述

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。
在这里插入图片描述
(2)保存在默认的工程路径。
(3)选择第一个,Sign all projects,然后点击 Proceed。
QCC512x QCC302x GAIA OTA DFU 升级(earbud)_第3张图片
(4)根据需要选择需要打包的工程,建议修改了哪个就选哪个,不然升级文件太大,会延长升级的时间。
QCC512x QCC302x GAIA OTA DFU 升级(earbud)_第4张图片
(5)选择不加密。
QCC512x QCC302x GAIA OTA DFU 升级(earbud)_第5张图片
(6)生成的 DFU 文件路径在 MDE的输出窗口显示,可以复制路径,直接拷贝到手机进行升级。
在这里插入图片描述

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 进行改写,增加一定的接口,后续更新。

你可能感兴趣的:(蓝牙耳机(QCC/CSR))