USBDownloadTool使用说明
1. 概述¶
USBDownloadTool升级是在u-boot中通过gegadget mass storage driver,用SCSI command形式发送ufu command到板子usb device来完成升级,过程与使用tftp server升级相同,不同的是通过usb,而不是网口,因此,首先需要再u-boot中开启对gegadget mass storage driver和ufu command的支持。
2. u-boot开启gadget¶
For spi -nor upgrading: make infinity6e_ufu_defconfig;
For spi -nand upgrading: make infinity6e_ufu_spinand_defconfig;
3. u-boot 开启ufu command¶
注意:如果选择 Auto run ufu command in boot,那么 u-boot就会启动跑进 ufu 停住,等待升级。 此项用在 空片升级才需要选,正常情况不需要,否则不能进入kernel。
4. 执行升级¶
4.1. U-BOOT下升级¶
-
板子启动进入u-boot命令行,执行以下命令
setenv ota_upgrade_status 1 saveenv
-
重启 ,此时 u-boot将进入 ufu command停住 ,等待升级,如下图
-
将 USBdownloadtool放置在编译出来的image目录下,如图所示,然后运行 USBDownloadTool.exe,点击
Upgrade Firmware
等待完成升级 -
升级完成,注意清除 ota,然后重启,否则将会再次进入ufu command,执行以下命令
setenv ota_upgrade_status 1 saveenv
4.2. 空片升级¶
USBDownloadTool 可用在 空片时升级,当flash为空片,ROM会进USB boot,此时USBDownloadTool可以检测到mass storage,点击Upgrade Firmware
将会先将 usb_updater.bin 和 u-boot.bin 加载到板子 Dram中运行, 这里 u-boot.bin 在编译时就选择了Auto run ufu command in boot
,因此会自动跑进上述步骤2的ufu command中等待 USBDownloadTool下发升级。
4.3. UVC升级¶
UVC升级是在板子device端运行UVC时,通过USBDownloadTool下发一个自定义XU command,设置ota_upgrade_status 为 1,然后重启,将会在u-boot时进入ufu command,等待USBDownloadTool 下发升级 。
-
XU command 修改
在XU command添加ota 升级的处理:system("/etc/fw_setenv ota_upgrade_status 1");
-
板端UVC运行起来,在PC端看到uvc camera设备,然后运行USBDownloadTool.exe,点击
Upgrade Firmware
,此时 USBDownloadTool将会一直等待板端进入 u-boot; -
重启板子将进入 u-boot ufu command,USBDownloadTool检测到后,就会自动下发升级,等待升级完成。