找回密码
 立即注册

使用微信账号登录

只需一步,快速开始

CSR8670 sink程序HID DFU验证

2020-5-14 17:10| 发布者: wechat| 查看: 2037| 评论: 1|来自: 微信公众号

摘要: 本文主要讲解在ADK_CSR867x.WIN4.4.0.17下,验证CSR8670 sink程序的HID DFU功能,用的工具为ADK_CSR867x.WIN.4.4.0.17\tools\bin\HidDfuCmd.exe。对于CSR8670芯片,USB升级(包括HIDDFU和DFUwizard)是不需要外挂FLA ...

本文主要讲解在ADK_CSR867x.WIN4.4.0.17下,验证CSR8670 sink程序的HID DFU功能,用的工具为ADK_CSR867x.WIN.4.4.0.17\tools\bin\HidDfuCmd.exe

对于CSR8670芯片,USB升级(包括HIDDFUDFUwizard)是不需要外挂FLASH的,OTA是需要外挂FLASH的。

拷贝以下四个文件到ADK_CSR867x.WIN.4.4.0.17\tools\bin\目录下。

dfukeygenerate.exe -o keys命令在bin目录下生成两个随机的key文件:

public key插入到loader中:

dfukeyinsert-v -o loader_signed -l loader_unsigned.xdv -ks keys.public.key

private key插入到stack中:

dfusign-v -o stack_signed -s stack_unsigned.xpv -ks keys.private.key

完成后得到:

把刚刚生成的文件拷贝到ADK的其他文件夹,比如:

打开xIDE,在工程属性中firmware image位置填写上一步经过签名的stack存放的文件夹路径:

D:\ADK_CSR867x.WIN.4.4.0.17\firmware\assisted\unified\gordon_signed\stack_signed

下载前可能需要改一下以下值:

在下载程序前先用BlueFlashloader_signed.xdvstack_signed.xdv烧录到板子上。

这里还需要将public key mergepskey中。

拷贝ADK_CSR867x.WIN.4.4.0.17\apps\sink\configurations\sink_system_csr8670.psr,到bin文件夹内。

public key插入到sink_system_csr8670.psr文件中:

dfukeyinsert-v -o sink_system_csr8670_signed -ps sink_system_csr8670.psr -kakeys.public.key

得到sink_system_csr8670_signed.psr文件,用pstool将文件merge到板子上。

然后用xIDE将程序下载到开发板上。

 

设置板子触发进入Driverless DFU模式。

打开ADK configuration tool,添加以下事件:

保存后,将板子先放一边休息一下。

 

接下去制作DFU文件。

sink下面的image.fs拷贝到bin目录下,这个文件就是要升级的程序文件,如果没有修改代码,则这个可以不用(这里其实没有修改,但是也假装修改了吧)。

 

制作需要修改的psr文件,内容如下:

以上第一条是把 device name 改成“CSR8671, 然后第二条必须添加&f002 = 00000000 0000 1000(1000 表示 CSR86700200 表示 BC5MM)

保存到bin下面,文件名为example_DFU_fw.psr

 

private key插入到example_DFU_fw.psr文件中:

dfusign-v -o dfu_fw_signed -ps example_DFU_fw.psr -ks keys.private.key

如果需要修改VMpsr,则需要将private key插入到vmpsr文件中,这里不升级,也就不需要执行下面的命令。

dfusign-v -o dfu_vm_signed -pa example_DFU_vm.psr -ka keys.private.key

 

private key插入到image.fs文件中:

dfusign-v -o image_signed -h image.fs -ka keys.private.key

 

生成DFU文件,完整的命令如下:

dfubuild -v pedantic -f image.dfu -uv -up -s stack_signed.xpv -d stack_signed.xdv -himage_signed.fs -p3 . dfu_fw_signed.stack.psr dfu_vm_signed.app.psr

由于这里不升级example_DFU_vm.psr,故直接用.代替,最终命令:

dfubuild-v pedantic -f image.dfu -uv 0x0a12 -up 0xfffe -s stack_signed.xpv -dstack_signed.xdv -h image_signed.fs -p3 . dfu_fw_signed.stack.psr .

 

VID PID可以通过设备管理器查看:

HidDfuCmd进行升级:

将开发板上电,用USB连接开发板,用之前配置的按键使其进入Driverless DFU mode

用以下命令进行升级:

HidDfuCmd.exeupgrade 0a12 fffe 0 0 image.dfu

完成后,可以看到设备名称改为了“CSR8671”,算是成功了。


来源:https://mp.weixin.qq.com/s/baSnENN1AfkC8ehc4haTZg

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!



路过

雷人

握手

鲜花

鸡蛋

相关阅读

发表评论

最新评论

引用 Dark_moon 2020-10-2 08:23
楼主辛苦了,感谢分享!

查看全部评论(1)

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

GMT+8, 2024-4-27 15:32 , Processed in 0.137501 second(s), 32 queries , Gzip On, MemCached On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

返回顶部