1. 引言 今年Q1刚发布的QCC3040是高通的QCC514x/QCC304x系列中的主力型号,其主打的mirror tws功能较上一代relay tws相比有如下优点: 手机上只会显示一个耳机设备,而不是两个耳机设备 耳机在切换主从时更自然流畅,主从耳机耗电更均衡 ![]() 虽然上述优点早已在苹果的airpods上体现,但高通只花了1年多的时间就开发出了完整的解决方案,并解决了专利问题,实在是令人佩服。相信高通的mirrow tws方案可以炸开苹果的tws耳机技术壁垒,使非苹果系的耳机方案向前迈进一大步。 本周刚拿到我爱蓝牙网的QCC3040开发板,我已迫不及待地开始部署官方的earbuds例程。参考官方文档《ADK 20.1 Overview》部署的过程中,遇到了很多问题,好在有技术交流群和我爱蓝牙网论坛的帮助,使我快速排除了各种问题,顺利跑通了例程并适配到开发板。 为了让大家少走一些不必要的弯路,我将部署流程、调试流程、故障解决方案分享出来,大家可以尝试着做一遍,尽早体验到mirror tws的独特魅力。 2. 软件环境PC: win10 MDE: (C:\weiyun\ 思 度 科 技 \QCC30xx_QCC51xx 开 发 板 资 料 \3. 开 发 环 境\qualcomm_mde.win.2.4_installer_2.4.0.158.zip) ADK Tool: (C:\weiyun\ 思 度 科 技 \QCC30xx_QCC51xx 开 发 板 资 料 \4. 官 方ADK\ADK20.1\adk_toolkit.win.1.0_installer_1.0.1.19.zip) Project: (C:\weiyun\ 思 度 科 技 \QCC30xx_QCC51xx 开 发 板 资 料 \4. 官 方ADK\ADK20.1\qcc514x-qcc304x-src-1-0_qtil_standard_oem_earbud.rar) 3. 硬件环境Debugger Adapter: TRBI200 或 USB Platform: 我爱蓝牙网 QCC30XX/51XX 开发板 * 2 + QCC3040模块 * 2 Chip: QCC3040 4. 准备步骤开发板连接好 TRB 和 USB 供电线,选择 USB 供电 安装好 TRB 或 USB 驱动 a) 参考 C:\weiyun\思度科技\QCC30xx_QCC51xx 开发板资料\10.开发板教程\3.USB 驱动安装 b) 参 考 C:\weiyun\ 思 度 科 技 \QCC30xx_QCC51xx 开 发 板 资 料 \6.debug 工 具\usbtrb\80-cc094-1_ab_transaction_bridge_and_usb_debug_interface_user_guide.pdf) SYS_CTRL 开关拨到导通位置(SYS_CTRL 灯亮) Project 解压后路径为 C:\qtil\qcc514x-qcc304x-src-1-0_qtil_standard_oem_earbud ![]() ![]() 选择 ADK tool 1.0.1.19 x64 ![]() 5.2. 修改工程以适配开发板
![]() ![]() 修改 ui_prompts.c,使能开机提示音 ![]() ![]() ![]() 修改 kymera_config.h,使能外部 PA 控制脚 PIO3,开机可听到 power on 提示音 ![]() 5.3. 编译 earbud 工程第一次编译需要较长时间,请耐心等待 5.4. 烧录固件到 primary 耳机
UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xbb in position 0: ordinal not in range(128) 修 改 C:\qtil\qcc514x-qcc304x-src-1-0_qtil_standard_oem_earbud\adk\tools\packages\tabs\pydbg_tab.py 修改 C:\qtil\ADK_Toolkit_1.0.1.8_x64\apps\fw\tools\pydbg.py
6.2. 修复 acat 故障python: can’t open file ‘C:/qtil/qcc514x-qcc304x-src-1-0_qtil_standard_oem_earbud/adk/bin/qcc514x_qcc304x/audio/tools/acat/ACAT.py’:[Errno 2] No such file or directory ), 修 改 C:\qtil\qcc514x-qcc304x-src-1-0_qtil_standard_oem_earbud\adk\tools\extensions\acat_tab\ext.xml,修改完成后,关闭 qmde 再打开。 ![]() 6.3. 打开 win10 cmd 的 ANSI 配色功能ANSI 转义字符显示为乱码[1m [35m] ,从 cmd.exe 输入(也可以在 PowerShell 中使用):reg add HKCU\Console /v VirtualTerminalLevel /t REG_DWORD /d 1 ![]() 6.4. 创建 pydbg 调试接口在工程路径下创建 pydbg 脚本,用于打开 log 窗口和输入 apptest 命令窗口 ![]() 这里假设 primary 耳机用 USB,secondary 耳机用 TRB,可自行修改 运行脚本,打开两个 cmd 窗口 ![]() Cmd 窗口 1,输入 system.apps1.live_log()后回车,可看到左右耳机的 log,A 是primary 耳机,B 是 secondary 耳机 ![]() Cmd 窗口 2,输入 pydbg 命令,使左右耳机完成配对,并开启与手机的配对模式 ![]() i. 【左耳离开耳机盒】apps1A.fw.call.appTestPhyStateOutOfCaseEvent(),primary耳机开始搜索 secondary 耳机 ii. 【 右 耳 离 开 耳 机 盒 】 apps1B.fw.call.appTestPhyStateOutOfCaseEvent() ,secondary 耳机进入 tws 配对状态,primary 耳机搜索到后,建立 tws 配对 iii. 【测试左耳 tws role 是否为主】apps1A.fw.call.appTestIsPrimary(),返回 true 说明 A 是 primary 角色 iv. 【耳机进入手机可配对模式】apps1B.fw.call.appTestPairHandset(),听到提示音 pairing,这里 apps1A 也可以 v. 手机可搜索到 LE-3040,配对成功后听到提示音 connected,可播放音乐、打电话 7. 总结新的ADK20.1的进步很明显,从双耳log混合显示功能到pydbg命令行操作功能等种种迹象可以看到,高通方案有在努力降低开发难度,对提升方案的普及度很有帮助。 虽然mirrow tws的例程已经部署成功了,但对mirror tws的实现原理和技术细节相关的知识还比较匮乏,需要专门研究,有成果后会再给大家分享。 ——————————正文分割线———————————– 为了方便大家学习,现与我爱蓝牙网联合推出【QCC300x/CSR867x/QCC30xx/QCC51xx开发板】。 ⭐⭐⭐⭐⭐【本例程对应源码和固件已加入会员群资料库】⭐⭐⭐⭐⭐ 开发板会员QQ群号:725398389(凭订单号入群,赠独家学习资料) 技术交流QQ群号:743434463 |
GMT+8, 2025-4-30 17:57 , Processed in 0.224636 second(s), 16 queries , Gzip On, MemCached On.
Powered by Discuz! X3.5
© 2001-2025 Discuz! Team.