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.
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.