The UUU (Universal Update Utility is an open source programm provided by NXP, it is the successor of NXP's MFG Tools, intended to download and execute code on i.MX SoC family via the Serial Download Protocol (SDP).
Documentation, source code and prebuild releases are available via the NXP mfgtools github repository.
1. Download the latest release from Universal Update Utility repository or build it from source
2. MOD_NAME BSP built following the BSP quickstart instructions.
A prebuild UUU release version can be downloaded from the UUU git repository.
The Universal Update Utility (UUU) tool can be compiled manually. The build instructions for Linux, Windows are available in the UUU documentation:
A U-Boot binary with the U-Boot configuration UUU_UBOOT_CONF is required to use the UUU. This particular U-Boot will be built during the MOD_NAME Yocto BSP build process and is located in the build directory deploy folder named UUU_UBOOT_BINARY.
For the sake of siplicity, copy the following components to a new folder e.g. in your home directory:
The following commands are executed in the folder containing the tool and the binaries.
After connecting the kit, it should be automatically detected when it is in serial downloader mode. Run the following command to list all detected devices:
uuu -lsusb
To load the U-boot binary into the RAM and start it from there use the command below:
uuu <u-boot binary>
Example for the STK_NAME:
uuu <label uuu_uboot_binary>UUU_UBOOT_BINARY</label>
Use the following command to program a U-Boot binary into the eMMC.
uuu -b emmc <u-boot binary>
Example for the STK_NAME:
uuu -b emmc <label uuu_uboot_binary>UUU_UBOOT_BINARY</label>
Use a custom workflow:
For a custom workflow uuu commands can be listed in a cmdlist file. The following example shows how to program a wic image to eMMC user area, without writing the bootstream to the eMMC boot partition.
Example cmdlist file on STK_NAME:
For the sake of simplicity, create the cmdlist file in the same location as the uuu executable. For example uuu.MOD_NAME_CODE
uuu_version 1.5.4 SDPS: delay 500 SDPS: @ boot -f @BOOTSTREAM@ SDPS: delay 1000 FB: ucmd setenv fastboot_dev mmc FB: ucmd setenv mmcdev ${emmc_dev} FB: ucmd mmc dev ${emmc_dev} FB: @ flash -raw2sparse all @WICIMAGE@ FB: done
Example command for the STK_NAME using custom cmdlist:
uuu -e BOOTSTREAM=<bootstream for uuu> -e WICIMAGE=<wic image for eMMC> uuu.<label mod_name_code>MOD_NAME_CODE</label>
uuu -e BOOTSTREAM=<label uuu_uboot_binary>UUU_UBOOT_BINARY</label> -e WICIMAGE=<label mtq_default_image>MTQ_DEFAULT_IMAGE</label> uuu.<label mod_name_code>MOD_NAME_CODE</label>