TQMa93xxCA - YOCTO Linux BSP documentation


NXP UUU (Universal Update Utility)

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. TQMa93xxCA BSP built following the BSP quickstart instructions.

A prebuild UUU release version can be downloaded from the UUU git repository.

It is recommended to use the latest avialable release.


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 mfgtool is required to use the UUU. This particular U-Boot will be built during the TQMa93xxCA Yocto BSP build process and is located in the build directory deploy folder named imx-boot-tqma93xx-mba91xxca-mfgtool.bin-flash_singleboot.


The syntax of the UUU tool is identical for Windows and Linux.
In Windows uuu.exe has to be used while in Linux the uuu binary has no file extension.

For the sake of siplicity, copy the following components to a new folder e.g. in your home directory:

  • UUU binary (manually compiled or prebuilt release)
  • U-Boot binary with UUU configuration imx-boot-tqma93xx-mba91xxca-mfgtool.bin-flash_singleboot
  • SD / eMMC image for example the default image tq-image-weston-debug-tqma93xx-mba93xxca.wic

The following commands are executed in the folder containing the tool and the binaries.

  • Set the STKa93xxCA DIP switches to Serial Downloader Mode (See DIP-Switch Settings)
  • Connect STKa93xxCA via connector X17 to the Host Computer


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 STKa93xxCA:

uuu imx-boot-tqma93xx-mba91xxca-mfgtool.bin-flash_singleboot


Use the following command to program a U-Boot binary into the eMMC.

uuu -b emmc <u-boot binary>

Example for the STKa93xxCA:

uuu -b emmc imx-boot-tqma93xx-mba91xxca-mfgtool.bin-flash_singleboot


Follow the command below to load the mfgtool U-Boot and write an image onto the TQMa93xxCA eMMC afterwards.

uuu -b emmc_all <u-boot binary> <wic-image>

Example for the STKa93xxCA:

uuu -b emmc_all imx-boot-tqma93xx-mba91xxca-mfgtool.bin-flash_singleboot.bin tq-image-weston-debug-tqma93xx-mba93xxca.wic

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.

Following example is tested with uuu version 1.5.4.

Example cmdlist file on STKa93xxCA:

For the sake of simplicity, create the cmdlist file in the same location as the uuu executable. For example uuu.tqma93xxca

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 STKa93xxCA using custom cmdlist:

uuu -e BOOTSTREAM=<bootstream for uuu> -e WICIMAGE=<wic image for eMMC> uuu.tqma93xxca
uuu -e BOOTSTREAM=imx-boot-tqma93xx-mba91xxca-mfgtool.bin-flash_singleboot -e WICIMAGE=tq-image-weston-debug-tqma93xx-mba93xxca.wic uuu.tqma93xxca