USBDownloadTool使用说明

Version 2.0


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下升级

  1. 板子启动进入u-boot命令行,执行以下命令

    setenv ota_upgrade_status 1
    
    saveenv
    
  2. 重启 ,此时 u-boot将进入 ufu command停住 ,等待升级,如下图

  3. 将 USBdownloadtool放置在编译出来的image目录下,如图所示,然后运行 USBDownloadTool.exe,点击Upgrade Firmware等待完成升级

  4. 升级完成,注意清除 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 下发升级 。

  1. XU command 修改

    在XU command添加ota 升级的处理:system("/etc/fw_setenv ota_upgrade_status 1");

  2. 板端UVC运行起来,在PC端看到uvc camera设备,然后运行USBDownloadTool.exe,点击 Upgrade Firmware ,此时 USBDownloadTool将会一直等待板端进入 u-boot;

  3. 重启板子将进入 u-boot ufu command,USBDownloadTool检测到后,就会自动下发升级,等待升级完成。