马上注册,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册 
×
一、DFU flow chart 详情 参考:61_AN092b_DFUOverview.pdf。
二、flow chart 解释: 1. 产生 .DFU文件 : DFU文件由多个private key files;pskey files;firemware files;app files组成.一个DFU文件可为不同型号的BC做 DFU。PC端的 DFU SERVER 程式会自动选择 正确的 BC做 软体升级。以下是生成 .DFU文件的步骤 1.1生成 private publickey files: 在MS DOS 模式下输入 dfukeygenerate -v -o my_stack_key-r /dev/random 得到my_stack_key.private.key和my_stack_key.publict.key 2个key文件。详情 参考:\CSR\DFUTools\DOCs\dfukeygenerate.html 1.2插入public_key到unsignedloader. 在MS DOS 模式下输入 dfukeyinsert -v -o loader_with_key-l loader_unsigned.xdv -ks my_stack_key.public.key 也插入public_key到需要保护的PSKEY文件。 详情参考:\CSR\DFU Tools\DOCs\dfukeyinsert.html 1.3 Signing Stack Software 在MS DOS 模式下输入 dfusign -v-o stack_signed -s stack_unsigned.xpv-ks my_stack_key.private.key 详情参考:\CSR\DFU Tools\DOCs\ dfusign.html 1.4 BUILD DFU FILE 在MS DOS 模式下输入 dfubuild-v -pedantic -t 3 -f spp8v2.dfu -uv 0xa12 -up 1 -ui "SPP8 V2.0" -s stack_signed.xpv –a spp8v2.app 其中stack_signed.xpv 是需要升级的 stack软体,spp8v2.app是需要升级的应用软体。执行后得到可以做DFU的文件:spp8v2.dfu 如果需要修改pskey的话,那么就加上-p3选项,这个选项需要带三个参数,第一个表示受保护的pskey,第二个表示stack的pskey,第三个表示app的pskey。如果需要更改,就填写对应的pskey文件名,不需要的话用"."代替,例如我现在需要更新stack和app中的pskey,那么就使用如下格式 -p3 . stack.psr app.psr
但是我们一般都放在stack.psr里面,它的权限比较高,可以确保我们的pskey能够被更新到。 详情参考:\CSR\DFU Tools\DOCs\ dfubuild.html
2. BC连接 PC: 选择BC的USB或者UART连接到 PC的USB或者 UART,同时只有其中一个host interface有用.
3. 设置BC,HOST INTERFACE 为 USB或则 UART: 设置bootmode0 为 DFU 模式.open uart or usb host interface 设置bootmode1为 default启动模式.以下是透过USB做DFU的相关PSKEY设置项 &F000- &F002=00000000 0000 0040 // boot_mode_list0 &4b0 = 1f9 //boot_mode_table0 USB HOST INTERFACE &4b8 = 2 // boot_mode_list1 &4b1 = 1f9 //boot_mode_table1 &4f8 = 4 // boot_mode_list2 //&4b2 = 1f9 //boot_mode_table2 //&538 = 2
4.BC进入 DFU 模式: 在应用软体中让BC从bootmode0重新启动。
5.DFU处理 启动DFUWIZARD程式(或者自己制作的DFU SERVER),选择DFU INTERFACE:usb or uart.如果是透过UART做DFU需要在startdfuwizard 前关闭与dfuwizard使用同一UART的程式。另外,目前toshiba的DRIVER与CSR USB DRIVER有冲突。所以如果透过USB做DFU需要 uninstall Toshiba的DRIVER。选择好 DFU INTERFACE后一路 “NEXT” 即可。如果 DFU成功 。 DFUWIZARD最后会出现 “DFU SUCCESSFUL”的 提示讯息。
6.DFU完成 如果DFUWIZARD 提示“DFU SUCCESSFUL”。BC将会重新以正常模式启动,并运行upgrade的 软体。 |