准备工作:
安装好必要的工具MDE_WIN_2.4.0.158_ext_win_64、Toolkit1.0.1.19_x64;
如果用USB debug,可以参考我之前在大大通的博文 《QUALCOMM QCC512x\QCC302x 芯片WIN10系统USB DEBUG操作指导》
从Chipcode上下载最新的代码。
解压下载的程序到PC,一般下载压缩包的文件名有点长,比如可能是这样的:
qcc514x-qcc304x-src-1-0_qtil_standard_oem_earbud-764bf0b6541e3b626ce153a5ef14ae*****.tar.gz
直接解压到根目录或者更短的目录,并修改文件夹名,因为windows对文件路径有长度限制,所以尽量让文件夹名称短一些,比如这样的路径:
C:\qtil\qcc514x-qcc304x-src-1-0_qtil_standard_oem_earbud.git
用MDE打开QCC3040的工程:
先进行编译:build->build all
等待编译完成。
这里建议有杀毒软件或者电脑管家之类的,先退出吧,不然可能编译时间会异常漫长。反正我开不开杀毒软件,时间上差了一倍。
编译完毕后,修改蓝牙地址为奇地址:
将开发板A连接到电脑,然后deploy all。
完成后连接另一块开发板B到电脑,修改蓝牙地址为偶地址,再deploy all。
将两块板子的USB都断掉,打开电源,会听到“power on”的提示音,将两块板子靠近,会听到“pairing successful”的提示音,说明两块板子组队成功。
拿出手机,能收到名为QCC3040的设备,这里只能看到一个设备了,跟之前的平台有两个设备有点不一样了。点击配对即可。
这个时候可以播放音乐测试一下蓝牙,应该没啥问题。
顺便测试一下单地址切换吧:
QCC3040的TWS连接采用的是mirroring方式:
假设当前板子A板是Primary,板子B就是Secondary,现在在播放音乐。
将A板接上充电器,按照之前高通的TWS模式,理论分析此时会进行主从切换,板子B会连接手机接着播放音乐,此过程应该是需要5-6S的时间。
现在在QCC3040的板子上测试,主从切换时间是无缝切换,认为的感应不出来。
给人的感觉是在是太牛了。
测试一下两块板子同时DEBUG:
编辑一个脚本文件,内容如下(请根据实际情况填写路径):
C:\qtil\ADK_Toolkit_1.0.1.19_x64\tools\python27\python.exe C:\qtil\ADK_Toolkit_1.0.1.19_x64\apps\fw\tools\pydbg.py -d trb:scar:164130,trb:scar:164137 -f apps1:F:\Devin_Project\QCC304X-514X\qcc3040\54.1\qcc514x-qcc304x-src-1-0_qtil_standard_oem_earbud.git\earbud\workspace\QCC3040-AA_DEV-BRD-R2-AA\depend_debug_qcc514x_qcc304x\earbud.elf
在超级终端上输入,即可打开debug窗口:
这个时候就可以输入一些命令进行测试了:
罗列一些简单的命令,意义直接看命令名称应该就能看出来:
apps1A/apps1B.fw.call.appTestPhyStateOutOfCaseEvent()
apps1A/apps1B.fw.call.appTestPhyStateInCaseEvent()
apps1A/apps1B.fw.call.appTestPhyStateOutOfEarEvent()
apps1A/apps1B.fw.call.appTestPhyStateInEarEvent()
apps1A/apps1B.fw.call.appTestIsPrimary()
apps1A/apps1B.fw.call.appTestSetBatteryVoltage(battery_voltage)
打印两个耳机的实时log的话用以下命令:
system.apps1.live_log()
最后补充一下。
QCC514x/QCC304x是高通最新推出的SOC,比之前的QCC512x/QCC302x系列有一些新特性:
∙增加了RAM sizes
∙支持Qualcomm TrueWireless™Mirroring等新特性
∙支持BLE audio(规划中)
∙新的软件架构,具有更好的兼容性