V11,V12和V13固件版本使用xf...
 
Notifications
Clear all

V11,V12和V13固件版本使用xflash升级问题  

 
hc
 hc
(@hc)
Member Admin

1.客户老的产品是基于老一套固件
USB-Audio-2.0-Software-Reference-Design(3.3)[11.2.0].zip做的,现在客户想升级到新的固件,暂时测试我使用
USB-Audio-2.0-Device-Reference-Design-Software(6.4.0beta2)[13].zip。

2.现做以下实验:
(1)在开发过程中,发觉如果设备中烧写的是旧版本的固件,要升级到新版本固件是失败的。
(2)但如果设备上本来就是新版本的固件,改动功能后升级,是没有问题的。
(3)同时设备上旧固件,也在3.3这套固件上修改功能后升级,也是可以的。

3.在用13.0.2版本的xflash生成升级固件是,要加入--factory-version这个参数来说明设备上原有固件是哪个软件版本开发的。但这个只能指定12或者13,没有11。参考文档

[offtopic]
https://www.unitedlink.hk/media/kunena/attachments/276/XFLASH-version-13-migration-manual1.0.pdf

4.有什么办法可以解决V12和V13版本固件升级到原有V11版本固件的板子上呢?
(1)V12的DFU bin可以直接升级到V11 factory image的板子上;
(2)对于原有DFU,V11 factory image的板子,V13版本xe生成DFU bin时使用--factory-version 12,那么生成的bin文件也可以在V11版本和V12版本的板子上运行了。命令如下:(需要先执行步骤3)

xflash -- upgrade 1 upgrade.xe --factory -version 12 -o upgrade . Bin

(3)对于V12版本的代码如果需要在V13版本上编译运行,V12版本的 routing id’s 和 routing tables需要被填入在XN文件中。命令如下:

xntools --add -routing -12 myfile.Xn

之后就可以在xTIMEcomposer 13版本编译器中编译和生成XE文件了。

5.对于13.0.0以上版本的xTIMEcomposer,以前生成bin文件的命令可能已经不再适用,如下两个图片。以前的命令不再适用于13.0.2版本了。

在13.0.2版本编译器生成bin文件可以使用命令:
xflash --upgrade 1 upgrade.xe --factory-version 13 -o upgrade.Bin

注意:DFU BIN程序升级需要开启DFU功能。

[/offtopic]

Quote
Posted : 29/09/2017 3:16 pm