本文主要讲解在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)是不需要外挂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 下载前可能需要改一下以下值: 在下载程序前先用BlueFlash将loader_signed.xdv、stack_signed.xdv烧录到板子上。 这里还需要将public key merge到pskey中。 拷贝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 表示 CSR8670, 0200 表示 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 如果需要修改VM的psr,则需要将private key插入到vm的psr文件中,这里不升级,也就不需要执行下面的命令。 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 由于这里不升级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 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
GMT+8, 2025-4-30 23:46 , Processed in 0.094460 second(s), 18 queries , Gzip On, MemCached On.
Powered by Discuz! X3.5
© 2001-2025 Discuz! Team.