UUU (Universal Update Utility) is an open-source tool developed by NXP for downloading and executing code on i.MX SoCs via the Serial Download Protocol (SDP). It allows loading SPL and U-Boot via the USB OTG port and optionally programming the internal storage of the SOM.
Download and build UUU #
$ sudo apt-get install libusb-1.0-0-dev libbz2-dev libzstd-dev pkg-config cmake libssl-dev g++ $ cd ~ $ git clone https://github.com/NXPmicro/mfgtools.git $ cd mfgtools $ git checkout uuu_1.4.240 $ cmake . $ make
Build U-Boot #
Copy the U-Boot image to the uuu directory:
$ cp -v imx-boot-sd.bin ~/mfgtools/uuu/_flash.bin
Boot the board into serial download mode: #
Set the board boot mode to SD card, while not having an actual card inserted in its slot.
Alternatively, set the board boot mode to eMMC/NAND flash when the eMMC/NAND flash does not contain a bootloader.
Connect the board to your host PC via the USB OTG port and power on the board. The board should be recognized on the host as a “NXP Semiconductors SE Blank M850” (or something similar).
Run UUU to load U-Boot #
$ cd ~/mfgtools/uuu $ sudo ./uuu ./spl_boot.lst
Note: The board should now run U-Boot. You can see its output on the console via the debug port, as always.