USB Boot Mode - 2020.2 English

Zynq UltraScale+ MPSoC Software Developer Guide (UG1137)

Document ID
UG1137
Release Date
2021-01-05
Version
2020.2 English

The USB boot mode supports only USB 2.0. In USB boot mode, both the secure and non-secure boot modes are supported. USB boot mode is not supported for DDR-less systems. Features like Multiboot, fallback image, and XIP are not supported.

Note: USB boot mode is disabled by default in FSBL. To enable the USB boot mode, configure the FSBL_USB_EXCLUDE_VAL to 0 in xfsbl_config.h file.
Table 1. USB Boot Mode Details
Pin Functionality
Mode pins 0x7
MIO pins MIO[63:52]
Non-secure Yes
Secure Yes
Signed Yes
Mode Slave

USB boot mode requires a host PC with dfu-utils installed on it. The host and device need to be connected through a USB 2.0 or USB 3.0 cable. The host must contain one boot.bin to be loaded by bootROM, which contains only fsbl.elf and another boot_all.bin to be loaded by FSBL. On powering up the board in USB boot mode, issue the following commands:

  • On Linux host:
    dfu-util -D boot.bin
    This downloads the file to the device, which is processed by bootROM.
    dfu-util -D boot_all.bin
    This downloads the file to the device, which is processed by FSBL.
  • On Windows host:
    dfu-util.exe -D boot.bin
    This downloads the file to the device, which is processed by bootROM.
    dfu-util.exe -D boot_all.bin
    This downloads the file to the device, which is then processed by FSBL.

The size limit of boot.bin and boot_all.bin are the sizes of OCM and DDR. The size of OCM is 256 KB.