Using the uuu Tool to Start and Program Software via USB on i.MX Hardware
The uuu tool (formerly known as MfgTool) from NXP allows to access i.MX
hardware through different USB protocols. It can be used to load software onto
an unprogrammed board in "Serial Loader Mode" or interface with a running
bootloader in SDP or Fastboot mode.
Up-to-date Bootloader and uuu-Tool Required
The following examples require an up-to-date version of the U-Boot
bootloader (e. g. 2023.04) and the uuu-Tool (e. g. v1.5.125).
Loading and Starting a Bootloader on i.MX8MM & i.MX6UL/ULL
Prerequisites:
- U-Boot image (
flash.bin) located in working directory - Board connected via USB OTG to PC and SoC in "Serial Downloader Mode"
Run built-in script:
uuu -b spl flash.bin
Flashing a Bootloader to SPI NOR on SL i.MX8MM
Prerequisites:
- U-Boot image (
flash.bin) located in working directory - Board connected via USB to PC
- Bootloader running in Fastboot mode (run command
fastboot 0)
Create commandlist file for uuu:
uuu_version 1.2.39
FB: ucmd setenv fastboot_buffer ${loadaddr}
FB: download -f flash.bin
FB: ucmd sf probe
FB[-t 30000]: ucmd sf erase 0 0x200000
FB: ucmd if test ! -n "$fastboot_bytes"; then setenv fastboot_bytes $filesize; else true; fi
FB[-t 30000]: ucmd sf write ${loadaddr} 0x400 ${fastboot_bytes}
Run commandlist:
uuu uuu.lst
Flashing a Bootloader and a WIC-Image to eMMC on OSM-S i.MX8MM
Prerequisites:
- U-Boot Image (
flash.bin) located in working directory - Uncompressed WIC (raw) image (
image.wic) located in working directory - Bootloader running in Fastboot mode (run command
fastboot 0)
Create commandlist file for uuu:
uuu_version 1.2.39
FB: ucmd mmc partconf 0 1 1 0
FB: download -f flash.bin
FB: ucmd if test ! -n "$fastboot_bytes"; then setenv fastboot_bytes $filesize; else true; fi
FB: ucmd setexpr blkcnt ${fastboot_bytes} + 0x1ff && setexpr blkcnt ${blkcnt} / 0x200
FB: ucmd mmc dev 0 1
FB: ucmd mmc write ${loadaddr} 0x42 ${blkcnt}
FB: ucmd setenv fastboot_raw_partition_main 0x0 0x40000000 mmcpart 0
FB: flash -raw2sparse main image.wic
Run commandlist:
uuu uuu.lst
Flashing a Bootloader and a WIC-Image to eMMC on OSM-S i.MX8MP
Prerequisites:
- U-Boot Image (
flash.bin) located in working directory - Uncompressed WIC (raw) image (
image.wic) located in working directory - Bootloader running in Fastboot mode (run command
fastboot 0)
Create commandlist file for uuu:
uuu_version 1.2.39
FB: ucmd mmc partconf 0 1 1 0
FB: flash 0.1 flash.bin
FB: ucmd mmc dev 0
FB: ucmd setenv fastboot_raw_partition_main 0x0 0x40000000 mmcpart 0
FB: flash -raw2sparse main image.wic
Run commandlist:
uuu uuu.lst
Flashing a Bootloader to SPI NOR on SL i.MX6UL
Prerequisites:
- U-Boot image (
flash.bin) located in working directory - Board connected via USB to PC
- Bootloader running in Fastboot mode (run command
fastboot 0)
Create commandlist file for uuu:
uuu_version 1.2.39
FB: ucmd setenv fastboot_buffer ${loadaddr}
FB: download -f flash.bin
FB: ucmd sf probe
FB[-t 30000]: ucmd sf erase 0 0x100000
FB: ucmd if test ! -n "$fastboot_bytes"; then setenv fastboot_bytes $filesize; else true; fi
FB[-t 30000]: ucmd sf write ${loadaddr} 0x400 ${fastboot_bytes}
Run commandlist:
uuu uuu.lst
Flashing a WIC-Image to eMMC on SL i.MX6UL
Prerequisites:
- U-Boot Image (
flash.bin) located in working directory - Uncompressed WIC (raw) image (
image.wic) located in working directory - Bootloader running in Fastboot mode (run command
fastboot 0)
Create commandlist file for uuu:
uuu_version 1.2.39
FB: ucmd mmc dev 1
FB: ucmd setenv fastboot_raw_partition_main 0 0x20000000 mmcpart 0
FB: flash -raw2sparse main image.wic
Run commandlist:
uuu uuu.lst