DESK-MX-L-AN-0008: How to use UUU update utility

From DAVE Developer's Wiki
Jump to: navigation, search
Info Box


Warning-icon.png This application note was validated against specific kit versions. It may not work with other versions. Supported versions are listed in the History section. Warning-icon.png


History
Issue Date Development Kit version

2022/10/07

DESK-MX8M-L-2.0.0-rc2

2023/08/11

DESK-MX8M-L-4.0.0
2026/03/26 DESK-MX8M-L-6.0.0


Introduction[edit | edit source]

This application note details how to use the UUU NXP Universal Update Utility for the i.MX platforms typically via SDP protocol, i.e. over USB OTG connection.

UUU is the replacement for MfgTool Command-line driven (no GUI). It allows a single command image download and it is fully scriptable. It supports all flash types (eMMC, NAND, QSPI, SD…).

Full open-source code is on Github with full documentation.

Build the UUU[edit | edit source]

The following instructions are used for building the uuu utility directly inside the DESK-MX8M-L-4.0.0 Virtual Machine

As reported in github README, the following Ubuntu packages have to be installed:

sudo apt-get install libusb-1.0-0-dev libbz2-dev libzstd-dev pkg-config cmake libssl-dev g++ libtinyxml2-dev

then the git repository will be cloned:

git clone https://github.com/NXPmicro/mfgtools.git

For some Ubuntu 20.04 libzstd incompatibility, it is required to checkout a previous release:

git checkout 1ffb8d3044e13407ee670631f21b85d8d86a4859

Invoking the cmake utility, the application can be built:

cd mfgtools
cmake . && make

and install the application in the system directory:

sudo make install

MVM USB device[edit | edit source]

The USB device - for both SPL and u-boot stages - has to be enabled inside the VM using the VirtualBox proper Device menu. Once both USB devices are detected by the VM, it is possible to add them to the USB filters in order to enable them once detected:

ORCA[edit | edit source]

MVM USB settings are displayed here below:

DESK-MX6-L-uuu-ORCA-USB-Settings.png

  • Boot configurations for USB Serial Download, i.e. with S2 switches BOOT_MODE[3:0] as 0001
    • J3 USB-C port is used for Power Delivery
    • J4 USB-C port is used for USB serial download connection
ORCA USB serial download connection

MITO 8M Mini[edit | edit source]

MVM USB settings are displayed here below:

DESK-MX6-L-uuu-USB-Settings.png


MITO8M Mini Evaluation Kit has to be configured wih:

  • Boot configurations from SD card, i.e. with J32 jumper inserted
  • no SD card inserted for boot from USB serial download instead of SD card
MITO8M Mini USB serial download connection

uuu examples[edit | edit source]

ORCA[edit | edit source]

  • device identification
dvdk@vagrant:~/mfgtools$ uuu -lsusb
uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.243-3-g1ffb8d3

Connected Known USB Devices
        Path     Chip    Pro     Vid     Pid     BcdVersion      Serial_no
        ====================================================================
        1:27     MX865   SDPS:   0x1FC9 0x0146   0x0002  2024100072E3EBEE

dvdk@vagrant:~/mfgtools$ 

  • binary download and programming
dvdk@vagrant:~/mfgtools$ sudo ./uuu/uuu -d desk-mx8mp-imx-boot
uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.243-3-g1ffb8d3

Success 2    Failure 0                                                                                     

  • once downloaded, the flash.bin boot image will be directly executed on the target and the serial console will show the u-boot messages:
U-Boot SPL 2024.04-desk-mx8m-l-6.0.0-rc1-desk-mx8m-l-rel-6.0.0+g2eacd09d198+p0 (Mar 13 2026 - 08:34:11 +0000)
WARNING: SOM ConfigID on block 2 is UNLOCKED
SOM ConfigID#: 00000005
DDRINFO: start DRAM init
DDRINFO: DRAM rate 4000MTS
DDRINFO:ddrphy calibration done
DDRINFO: ddrmix config done
SEC0:  RNG instantiated
Normal Boot
Trying to boot from BOOTROM
Boot Stage: USB boot
Find img info 0x480233a0, size 1064
Need continue download 1024
NOTICE:  Do not release JR0 to NS as it can be used by HAB
NOTICE:  BL31: v2.10.0  (release):lf-6.6.52-2.2.1-dirty
NOTICE:  BL31: Built : 06:40:36, Jul  7 2025


U-Boot 2024.04-desk-mx8m-l-6.0.0-rc1-desk-mx8m-l-rel-6.0.0+g2eacd09d198+p0 (Mar 13 2026 - 08:34:11 +0000)

CPU:   Freescale i.MX8MP[8] rev1.1 1600 MHz (running at 1200 MHz)
CPU:   Industrial temperature grade (-40C to 105C) at 27C
Reset cause: POR
Model: DAVE i.MX8MPlus on SBC ORCA
DRAM:  6 GiB
Relocating to ffed9000, new gd at fded8d80, sp at fdeca530
TCPC:  Vendor ID [0x1fc9], Product ID [0x5110], Addr [I2C2 0x50]
SNK.Power1.5 on CC1
PDO 0: type 0, 5000 mV, 100 mA [RUDE]
PDO 1: type 0, 9000 mV, 1330 mA []
PDO 2: type 0, 12000 mV, 1250 mA []
Requesting PDO 2: 12000 mV, 1250 mA
Source accept request
PD source ready!
tcpc_pd_receive_message: Polling ALERT register, TCPC_ALERT_RX_STATUS bit failed, ret = -62
Power supply on USB1
TCPC:  Vendor ID [0x0], Product ID [0x202], Addr [I2C2 0x3d]
Core:  253 devices, 29 uclasses, devicetree: separate
MMC:   FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from nowhere... OK
Fail to setup video link
In:    serial
Out:   serial
Err:   serial
SEC0:  RNG instantiated
WARNING: SOM ConfigID on block 2 is UNLOCKED
SOM ConfigID#: 00000005
SOM UniqueID#: 20241000:72e3ebee:469660d3:d0c2b602
WARNING: CB ConfigID on block 0 is UNLOCKED
CB ConfigID#: 00001008
CB UniqueID#: d5000035:c4c02d2d
WARNING: SOM ConfigID on block 2 is UNLOCKED
SOM: MX8MP-Mito8MPlus on SBC-ORCA HDMI + LVDStoHDMI
Card did not respond to voltage select! : -110
Detect USB boot. Will enter fastboot mode!
Net:
Warning: ethernet@30bf0000 (eth0) using random MAC address - 42:bb:e3:42:3e:04

Warning: ethernet@30be0000 (eth1) using random MAC address - ca:88:0e:c2:32:31
eth1: ethernet@30be0000, eth0: ethernet@30bf0000 [PRIME]
Fastboot: Normal
Boot from USB for mfgtools
*** Warning - Use default environment for                                mfgtools
, using default environment

Run bootcmd_mfg: run mfgtool_args;if iminfo ${initrd_addr}; then if test ${tee} = yes; then bootm ${tee_addr} ${initrd_addr} ${fdt_addr}; else booti ${loadaddr} ${initrd_addr} ${fdt_addr}; fi; else echo "Run fastboot ..."; fastboot 0; fi;
Hit any key to stop autoboot:  0

## Checking Image at 43800000 ...
Unknown image format!
Run fastboot ...
No UDC available in the system
g_dnl_register: failed!, error: -19
u-boot=>
u-boot=>

MITO 8M Mini[edit | edit source]

  • device identification
dvdk@vagrant:~/mfgtools$ sudo ./uuu/uuu -lsusb
uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.243-3-g1ffb8d3

Connected Known USB Devices
        Path     Chip    Pro     Vid     Pid     BcdVersion      Serial_no
        ====================================================================
        1:27     MX8MM   SDP:    0x1FC9 0x0134   0x0101

  • binary download and programming
dvdk@vagrant:~/mfgtools$ sudo ./uuu/uuu -d desk-mx8mm-imx-boot
uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.243-3-g1ffb8d3

Success 4    Failure 0

  • once downloaded, the flash.bin boot image will be directly executed on the target and the serial console will show the u-boot messages:
U-Boot SPL 2024.04-desk-mx8m-l-6.0.0-rc1-desk-mx8m-l-rel-6.0.0+g2eacd09d198+p0 (Mar 13 2026 - 08:34:11 +0000)
WARNING: SOM ConfigID on block 0 is UNLOCKED
SOM ConfigID#: 00000002
DDRINFO: start DRAM init
DDRINFO: DRAM rate 3000MTS
DDRINFO:ddrphy calibration done
DDRINFO: ddrmix config done
Normal Boot
Trying to boot from USB SDP
SDP: initialize...
SDP: handle requests...
Downloading file of size 1313568 to 0x40400000... done
Jumping to header at 0x40400000
Header Tag is not an IMX image
Found header at 0x404289a0
WARNING: CB ConfigID on block 0 is UNLOCKED
NOTICE:  Do not release JR0 to NS as it can be used by HAB
NOTICE:  BL31: v2.10.0  (release):lf-6.6.52-2.2.1-dirty
NOTICE:  BL31: Built : 06:40:36, Jul  7 2025


U-Boot 2024.04-desk-mx8m-l-6.0.0-rc1-desk-mx8m-l-rel-6.0.0+g2eacd09d198+p0 (Mar 13 2026 - 08:34:11 +0000)

CPU:   Freescale i.MX8MMQ rev1.0 1600 MHz (running at 1200 MHz)
CPU:   Industrial temperature grade (-40C to 105C) at 39C
Reset cause: POR
Model: DAVE i.MX8MM MITO8MMINI board LVDStoHDMI
DRAM:  2 GiB
Relocating to bfede000, new gd at bdeddd90, sp at bdecf620
optee optee: OP-TEE api uid mismatch
Core:  114 devices, 25 uclasses, devicetree: separate
MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC... MMC: no card present
*** Warning - No block device, using default environment

Fail to setup video link
In:    serial
Out:   serial
Err:   serial
SEC0:  RNG instantiated
WARNING: SOM ConfigID on block 0 is UNLOCKED
SOM ConfigID#: 00000002
SOM UniqueID#: dab429e1:09166209
WARNING: CB ConfigID on block 0 is UNLOCKED
CB ConfigID#: 0000100a
CB UniqueID#: 0c000035:c481852d
WARNING: SOM ConfigID on block 0 is UNLOCKED
SOM: MX8MM-Mito8MMini on SBCX-MINI LVDStoHDMI converter
MMC: no card present
Detect USB boot. Will enter fastboot mode!
Net:
Warning: ethernet@30be0000 (eth0) using random MAC address - 5a:25:53:29:02:13
eth0: ethernet@30be0000 [PRIME]
Fastboot: Normal
Boot from USB for mfgtools
*** Warning - Use default environment for                                mfgtools
, using default environment

Run bootcmd_mfg: run mfgtool_args;if iminfo ${initrd_addr}; then if test ${tee} = yes; then bootm ${tee_addr} ${initrd_addr} ${fdt_addr}; else booti ${loadaddr} ${initrd_addr} ${fdt_addr}; fi; else echo "Run fastboot ..."; fastboot 0; fi;
Hit any key to stop autoboot:  0
u-boot=>