Flashing internal eMMC with uuu tool#

Download Site for uuu Universal Update Utility#

The NXP uuu tool (former: Manufacturing Tool, mfgtool) can be found at its GitHub repo page

This location contains:

  • the source files including uuu scripts to update the different media on the respective Device Under Test (DUT)

  • some binaries for use with Windows and Linux

  • complete documentation in PDF format

Prerequisites#

You need to have the following available:

  • a PC running Windows or Linux; Administrator / sudo permissions are required.

  • Downloaded and installed uuu toolkit from above location

  • uuu scripts emmc_burn_loader.lst and emmc_burn_all.lst

  • For flashing U-Boot and SPL Loader: the file imx-boot-<board name>-sd.bin-flash_<board version> from the yocto build

  • For flashing a complete OS image: a ready-made Yocto SD card image, e.g. <distro name>-<board name>.wic

  • the Device Under Test

Operation#

  • On the DUT target, set the FORCE_RECOV# line to LOW

  • Switch the power supply on to the target.

  • Connect the DUT target to the Host PC via its USB Port 0

Available Operations#

The following operations on the DUT target have been successfully tested to date:

SPL / U-Boot update to eMMC#

This option only writes U-Boot and SPL loader to the eMMC of the DUT. Note that under Linux, the command requires root / sudo permissions:

uuu -b emmc_burn_loader.lst <loader-image>

Example:

sudo uuu -b emmc_burn_loader.lst imx-boot-sm2s-imx8plus-sd.bin-flash_hdmi_spl_uboot

Complete Programming of U-Boot + SPL and an OS image to eMMC#

This option writes U-Boot + SPL loader and a complete OS image to the eMMC of the DUT. Note that under Linux, the command requires root / sudo permissions:

uuu -b emmc_burn_all.lst <loader-image> <system-image>

Example:

sudo uuu -b emmc_burn_all.lst imx-boot-sm2s-imx8plus-sd.bin-flash_hdmi_spl_uboot simplecore-simpleswitch-os-weston-image-sm2s-imx8plus.wic

Flashing internal eMMC bootloader manually#

You may sometimes not be able to flash using USB serial download with uuu, particularly when the target main board does not expose the FORCE_RECOV# line.

In this case please build an image, e.g. core-image-minimal, flash to the SDCard and boot the image.

  • login into the shell

  • run /boot/emmc_boot0_install.sh to install to boot partition 0 (default)

  • run /boot/emmc_boot1_install.sh to install to boot partition 1