Skip to content

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