Edit online

U 盘升级

Read time: 1 minute(s)

芯片支持通过 U 盘的 FAT32 文件系统进行升级。

要求与步骤
对芯片与板子的要求:
  1. 板子使用 USB 接口。

  2. 芯片烧录过镜像,且镜像支持 U 盘升级

对 U 盘的要求:
  1. U 盘只有一个分区。

  2. U 盘格式化为 FAT32 文件系统,注意不得使用 exFAT 或者 FAT16 系统。

  3. 最好为专用 U 盘,且未放置其它文件。

执行步骤:
  1. 在编译输出目录 (images) 中,将两个文件拷贝到 U 盘 FAT32 文件系统的根目录。

  2. 确保 bootcfg 文件的名字为 bootcfg.txt

  3. 将 U 盘插入板子,重新上电,启动过程中则会自动检测 U 盘是否插入,检测到后进入烧录模式进行升级。

  4. 烧录完成时,需要拔出 U 盘,然后重新上电启动。

注: 烧录完成平台并不会主动重启,以防重复进入 U 盘烧录模式。
编译配置

SDK 提供的配置,默认关闭该功能。这里进行配置使能以及注意项的说明。

SPI NAND/NOR 方案

使能 SDFAT32 烧录功能,只需要在 menuconfig 中勾选配置项 AICUPG_UDISK_ENABLE 即可:

Bootloader options  --->
    aicupg setting  --->
        [*] aicupg udisk upgrade on

同时设置 AICUPG_USB_CONTROLLER_MAX_NUM=1。可用的最大 USB HOST 控制器数量,根据实际芯片平台进行设置。

开启 U 盘烧录功能后,编译完成生成的 bootloader.aic 文件大小不能超过 126K,若超过则可以关闭以下配置来减小 CODE SIZE。

  1. AIC_BOOTLOADER_CMD_SPI_NAND

  2. AIC_BOOTLOADER_CMD_MTD

  3. AIC_BOOTLOADER_CMD_MEM

注:

在打包镜像前,需要确保 target/<IC>/<Board>/pack 目录下的 image_cfg.json 文件中 device_id 与存储介质所使用的控制器 id 所对应。

例如 eMMC 存储介质使用的控制器为 SDMC0,则应该将 device_id 的值设为 0, 如果 eMMC 存储介质所使用的控制器为 SDMC1,则应该将 device_id 设为 1。