Skip to content
nxpfrankli edited this page Sep 24, 2021 · 30 revisions

Welcome to the UUU (Universal Update Utility). This is an evolution of MFGTools (aka MFGTools v3).

UUU is Freescale/NXP I.MX Chip image deploy tools.

With the time, the need for an update utility portable to Linux and Windows increased. UUU have the same usage on both Windows and Linux. It means the same script works on both OS.

UUU is command line tools. look like

uuu (universal update utility) for nxp imx chips -- libuuu-1.0.1-gffd9837

Succues:0       Failure:3               Wait for Known USB Device Appear...

1:11     5/5 [                            ] SDP: jump -f u-boot-dtb.imx -ivtinitramf....
2:1      1/5 [===>                        ] SDP: boot -f u-boot-imx7dsabresd_sd.imx ....

UUU design as common library and UI. So user can easily integrate into their tools with uuu library. UUU also easy run in any scripts.

PDF of wiki content also is available at release page.

Running environment

Windows 7 user please read WIN7-User-Guide

Typical Usage

Set board boot pin to serial download mode. Generally iMX ROM will fail back to usb serial download mode if boot failure.

Download uboot

uuu bootloader

Burn uboot into emmc

uuu -b emmc bootloader

Burn bootimage into QSPI flash

uuu -b qspi qspi_bootloader

Burn rootfs image into emmc

uuu -b emmc_all bootloader rootfs.sdcard

Decompress rootfs image and burn into emmc (since 1.1.87)

uuu -b emmc_all bootloader rootfs.sdcard.bz2

Decompress rootfs image and burn into emmc without bootloader (since 1.4.146 and after 2021 Q4 yocto image)

uuu -b emmc_all rootfs.wic.bz2

Notes: bootloader means bootable image, which included ROM required header. for imx6/7, it should be uboot.imx generally. for imx8qxp\imx8qm\imx8mm\im8mq, it is flash.bin.

Burn release image into emmc


Note: some release combine multi board into one zip package, you need use uuu<boardname>

More usage please refer Example

Typical Script

uuu’s script is plain text file

**first line must be

uuu_version 1.0.1

version number represent the minimum uuu version that uuu can parse this script.

Then flow uuu commands.

UUU command format as


The below is example to boot uboot for imx6 and imx7.

uuu_version 1.0.1
SDP: dcd -f u-boot.imx
SDP: write -f u-boot.imx -ivt 0
SDP: jump -f u-boot.imx -ivt 0

more sample scripts see Sample-script

The below table environment may be used when write uuu script

Table 1. Table Fastboot environment




fastboot flash device, support mmc and sata


fastboot download buffer adddress


fastboot download file size


eMMC device number


sd slot device number


uuu is licensed under the BSD license. See LICENSE. The BSD licensed prebuilt Windows binary version of uuu is statically linked with the LGPL libusb library, which remains LGPL.

What Firmware Need

What you want Firmware Need

Download bootloader


Burn Image to eMMC/SD

uboot with fastboot enable

Burn Image to qspi\spi\nor

uboot with fastboot enable

Burn Image into Nand flash

uboot(1), linux kernel\initramfs\uboot\dtb

Need linux shell cmd such as fdisk

uboot(1), linux kernel\initramfs\uboot\dtb

Boot linux kenrel with rootfs already in eMMC

uboot with fastboot enable

Boot Linux kernel with nfs over USB

uboot with fastboot enable, initramfs

(1) prefer enable fastboot. If ROM HID support write additional image to DDR place, you can write kernel\dtb\initramfs to ddr before jump to uboot. Enable fastboot give more flexibility to change kernel command line.

Setup auto parameter complete


Just power shell support customized auto complete

Powershell: Enjoy auto [tab] command complete by run below command or put into Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

   Register-ArgumentCompleter -CommandName uuu -ScriptBlock {param($commandName,$parameterName,$wordToComplete,$commandAst,$fakeBoundParameter); C:\Users\nxa23210\uuu\uuu\x64\Release\lib\uuu.exe -autocomplete $parameterName }


Enjoy auto [tab] command complete by put below script into /etc/bash_completion.d/uuu

       COMPREPLY=($(/home/lizhi/source/mfgtools/uuu/uuu $1 $2 $3))
  complete -o nospace -F _uuu_autocomplete  uuu

L4.9.123_2.3.0_8MM GA

It is first official BSP release to support uuu For L4.9.123_2.3.0_8MM GA with i.MX8M Mini, see [How-to-use-UUU-on-Windows]