找回密码
 立即注册

使用微信账号登录

只需一步,快速开始

QCC300X USB HID 升级PSKey 操作方法

2020-6-2 21:59| 发布者: 大大通| 查看: 4118| 评论: 1|来自: 大大通

摘要: 1. QCC3000 系列升级方式有两种:1) 通过安卓/苹果手机的GAIA APP 软件OTA 升级。2) 通过QCC3000 的USB 接口以USB HID 方式直接升级。参考文档:80-CF065-1 QCC300x Software Upgrade User Guide.pdf升级的内容包 ...
1. QCC3000 系列升级方式有两种:
1) 通过安卓/苹果手机的GAIA APP 软件OTA 升级。
2) 通过QCC3000 的USB 接口以USB HID 方式直接升级。
参考文档:80-CF065-1 QCC300x Software Upgrade User Guide.pdf

升级的内容包括:
▪ Applications in the external flash
▪ ROM Firmware patches (provided by Qualcomm)
▪ ROM DSP patches (provided by Qualcomm)
▪ Customer file systems in external flash
▪ Audio prompt data files in external flash
以QCC3008 为例讲解USB HID 升级PSKey 操作方法,(QCC3001〜3008 方法是相同的)。开发板通过SPI to USB 烧录器连接到电脑的USB 接口上,如图所示。


2. 开发板,把电源开关拔到ON 处,按下VREG EN 开机 键,开机。
3. 运行擦除命令nvscmd erase 清空Flash,然后使用ADK_QCC300x.WIN.1.0.167
的IDE 编译speaker_qcc300x.xip 工程到开发板中, 属性用默认的就可以。





4. 使用PSTool 软件烧录QCC3008 的配置文件
C:\ADK_QCC300x.WIN.1.0.167\apps\sink\configurations 中的qcc3008.psr。
特别要注意:不能烧录系统psr: sink_system_qcc300x.psr
因为在 OTA 升级之前必须将“implementation store pskey”里面的 psk 值都
删除掉,因为我们升级的 PSK 都是“Implementation store pskey”里面的值。
如果客户想在生产线中更新 pskey,他们应该保持 Implementation store
pskey 为空,并且只通过 DFU 更改文件系统 pskey。然后,每次更新文件系
统 PSKY 时,不必删除原来的 PSKEY。
sink_system_qcc300x.psr 带有“implementation store pskey”里面的 psk 值,
如果烧录的话就要进入此模式下,把需要升级的PSKey 值清空了。
否则升级将会无法成功的。





如果升级audio_prompts.xuv 和 VM应用可参考文档:80-CF065-1
本文以升级PSKey值(蓝牙设备名)为例,把QCC300x改为QCC3008。
在Stores 的All 模式下可以看到设备名:QCC300x
但在Implementation only 模式下,此PSKey 值是没有值的。




5. Create a OEM public/private key pair 文件
cd C:\ADK_QCC300x.WIN.1.0.167\apps\sink 进入sink 目录
输入建立文件命令 dfukeygenerate –o oem 再输入至少63 个字符,再回车
Output:
■ oem.public.key
■ oem.private.key



6. Convert public key file to PS keys 文件
输入转换文件命令dfukeyinsert -v -o oem_key -ka oem.public.key
Output:
■oem_key.psr


7. Write the PS key values into the device PS store:
输入烧录文件命令pscli -usb 295453 merge oem_key.psr
特别注意:295453 为SPI 烧录器的ID,也可以用PSTool 工具烧录oem_key.psr。


8. 把要修改的psr 文件打包成psa 文件,再打包xuv 文件。
可参考文档:CS-334172-UGP2 CSRA64xxx A11 SQIF Configuration User Guide.pdf
1),Create a new folder, for example, pskeys, to put the PSFS file in。
2),把PSFS file :sink_system_qcc300x.psr 放到pskeys文件夹里。
3),在sink_system_qcc300x.psr里修改对应数据,保存即可。



4), 把psr 文件打包成psa 文件,psfscmd.exe psr2psfs 输出 输入
特别注意:psa 文件需要命名为sys_qcc300x.psa, 与PSFS-NAME0 里的
值保存一致,不然升级后PSKey 还会是原来的值。



5), 把psa 文件打包成xuv 文件, 命令:packfile
打包后的文件命名为: psfskeys.xuv


9. 在xuv 文件目录下,建立upgrade 文件, 文件后缀名为 .upg 。
在upg 文件里指定要升级的分区, 注意格式为:

逻辑分区号 逻辑分区类型 文件名
逻辑分区号对应3.1.2 表格 , 逻辑分区类型对应4-2 表格。



10. 创建 upgrade xuv 文件, 命令:UpgradeFileGen qcc3008.upg qcc3008_upg.xuv


11. 使用第5 步生成的密钥去加密xuv 文件。命令:
dfusign -v -f -u -h qcc3008_upg.xuv -o qcc3008_upg_signed.xuv -ka oem.private.key



12. 把加密后的xuv 文件转换成bin 文件, bin 文件才是真正升级使用到的文件。
升级是把bin 文件下载到Flash 中对应的分区里。
命令:xuv2bin -d qcc3008_upg_signed.xuv qcc3008_upg_signed.bin


13. 再次用PSTool 工具在Stores 里的Implementation only 模式下,确认将要修改
的PSKey 值是空的,如果有值,则需要删掉。


14. QCC3008 保持在开机的状态下插入USB 即可, 自动识别为HID 设备。
不需要配置DFU 事件,也不需要进入DFU 模式中, 正常模式即可。

15. 在设备管理器中找出QCC3008 的USB Vendor ID 和USB Product ID。
其中 0A12 为USB Vendor ID, 1243 为USB Product ID 。



16. 使用USB HID 升级命令:
HidDfuCmd.exe upgradebin 0A12 1243 0 FF00 qcc3008_upg_signed.bin
输入命令后,会询问是否想要升级, 输入 y 再按下enter 键



17. 升级完后会自动复位重启,显示upgrade succeeded,表示升级已成功。
然后用 PSTool 工具在Stores 里的All 模式下,看到设备已改变。


来源:https://www.wpgdadatong.com/cn/blog/detail?BID=B0939
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

2

路过

雷人

握手

鲜花

鸡蛋

刚表态过的朋友 (2 人)

相关阅读

发表评论

最新评论

引用 smuhsy 2020-8-7 14:12
亲测,好用,强,感谢!我关注的难点,
1.)清空FLASH,
2.)xIDE直接RUN,这时候会报错,
3.)PSTOOL只merge qcc3008.psr,不能merge sink_system_qcc300x.psr.
4.)再次xIDE RUN.
这样操作就能更新PSKEY了。

查看全部评论(1)

小黑屋|手机版|我爱蓝牙网 - 52Bluetooth

GMT+8, 2024-4-26 11:34 , Processed in 0.134139 second(s), 16 queries , Gzip On, MemCached On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

返回顶部