Using “uuu” to flash eMMC

Difficulty Levels: Intermediate
Date added: July 22, 2019
Affected Products: PICO-IMX6 , PICO-IMX7 , PICO-IMX8M , PICO-IMX8M-MINI

MFGtool is the manufacturing tool provided by NXP. Here the mfgtool we use is mfgtools 3.0, also called “uuu” or Universal Update Utility. This tool is able to be executed under Windows and Linux environment.

Supported platforms

Prebuilt demo images

Prebuilt demo images are available for download from our FTP site.

PICO-IMX8MQ demo images

PICO-IMX8MM demo images

FLEX-IMX8MM demo images

PICO-IMX6 demo images

PICO-IMX7 demo images

“uuu” on TechNexion github:

https://github.com/TechNexion/imx-mfgtools-tn

You can also download a prebuilt binary

(Note. libusb-1.0.dll is required for uuu to be excuted under MS windows. But it’s absent in the link above.)

For more information about how to use uuu, please refer to UUU.pdf in the link above.

Use “uuu” to flash Yocto release image under Linux

  1. Install required packages for executing mfgtool uuu

$ sudo apt-get install libusb-1.0.0-dev libzip-dev libbz2-dev

  1. First, Set the boot jumpers to Boot from serial download. Then, attach a USB Type-C peripheral cable to the board, and the other end to the host PC.
  2. Download Yocto release image from TechNexion FTP.
  3. Extract xxx_yocto_xxx.zip, and there are bootloader binary and yocto image inside.

  1. Execute uuu to start flashing process.
Example instructions to write image into eMMC
Burn image(.bz2) into eMMC
PICO-IMX8M-MINI sudo ./uuu/linux64/uuu -b emmc_img imx8mm/imx-boot-pico-imx8mm-sd.bin fsl-image-qt5-validation-imx-pico-imx8mm.sdcard.bz2/*
Burn raw disk image into eMMC
PICO-IMX8M sudo ./uuu/linux64/uuu -b emmc_img imx8mq/pico-imx8mq-flash.bin <path\to\raw disk image>
PICO-IMX8M-MINI sudo ./uuu/linux64/uuu -b emmc_img imx8mm/pico-imx8mm-flash.bin <path\to\raw disk image>
PICO-IMX6 sudo ./uuu/linux64/uuu -b emmc_imx6_img imx6/imx6-SPL imx6/imx6-u-boot.img <path/to/raw disk image>
PICO-IMX7 sudo ./uuu/linux64/uuu -b emmc_imx7_img imx7/imx7-SPL imx7/imx7-u-boot.img <path/to/raw disk image>
PICO-IMX6ul sudo ./uuu/linux64/uuu -b emmc_imx6ul_img imx6ul/imx6ul-SPL imx6ul/imx6ul-u-boot.img <path/to/raw disk image>
Burn image(.bz2) to eMMC and boot loader to eMMC boot area
PICO-IMX8M-MINI sudo ./uuu/linux64/uuu -b emmc_all imx8mm/imx-boot-pico-imx8mm-sd.bin fsl-image-qt5-validation-imx-pico-imx8mm.sdcard.bz2/*

Note: The parameter ’emmc_all’ would flash `fsl-image-qt5-validation-imx-pico-imx8mm.sdcard` to eMMC and flash `imx-boot-pico-imx8mm-sd.bin` to boot0 partition of eMMC, then enable boot partition of eMMC.

Wait few seconds to decompress, and it will start to write to eMMC.

In the example above we show the process of programming PICO-IMX8M-MINI. .The file named imx-boot-pico-imx8mm-sd.bin is the bootloader and fsl-image-qt5-validation-imx-pico-imx8mm.sdcard.bz2 is the sdcard image compressed with .bz2 format.

  1. Once the flash process completes, power off the board, set the boot jumpers to Boot from eMMC and apply power to the board to boot from eMMC.

Use “uuu” to flash Yocto release image under MS Windows

  1. First, Set the boot jumpers to Boot from serial download. Then, attach a USB Type-C peripheral cable to the board, and the other end to the host PC.
  2. Then attach a USB Type-C peripheral cable to the board, and the other end to the host PC. Then, Set the boot jumpers to serial download mode.
  3. Download Yocto release image from TechNexion FTP.
  4. Execute Windows Powershell or cmd with administrator permission.
  5. Extract xxx_yocto_xxx.zip, and there are bootloader binary and yocto image inside.

  1. Execute uuu to start flashing process.
Example instructions to write the image into eMMC
Burn image(.bz2) into eMMC
PICO-IMX8M-MINI .\uuu\windows64\uuu.exe -b emmc_img imx8mm\imx-boot-pico-imx8mm-sd.bin fsl-image-qt5-validation-imx-pico-imx8mm.sdcard.bz2\*
Burn raw disk image into eMMC
PICO-IMX8M .\uuu\windows64\uuu.exe -b emmc_img imx8mq\pico-imx8mq-flash.bin <path\to\raw disk image>
PICO-IMX8M-MINI .\uuu\windows64\uuu.exe -b emmc_img imx8mm\pico-imx8mm-flash.bin <path\to\raw disk image>
PICO-IMX6 .\uuu\windows64\uuu.exe -b emmc_imx6_img imx6\imx6-SPL imx6\imx6-u-boot.img <path\to\raw disk image>
PICO-IMX7 .\uuu\windows64\uuu.exe -b emmc_imx7_img imx7\imx7-SPL imx7\imx7-u-boot.img <path\to\raw disk image>
Burn image(.bz2) to eMMC and boot loader to eMMC boot area
PICO-IMX8M-MINI .\uuu\windows64\uuu.exe -b emmc_all imx8mm\imx-boot-pico-imx8mm-sd.bin fsl-image-qt5-validation-imx-pico-imx8mm.sdcard.bz2\*

Note: The parameter ’emmc_all’ would flash `fsl-image-qt5-validation-imx-pico-imx8mm.sdcard` to
eMMC and flash `imx-boot-pico-imx8mm-sd.bin` to boot0 partition of eMMC,
then enable boot partition of eMMC.

Wait few seconds to decompress, and it will start to flash to eMMC.

Here,

imx-boot-pico-imx8mm-sd.bin is the bootloader.

fsl-image-qt5-validation-imx-pico-imx8mm.sdcard.bz2 is the sdcard image compressed with .bz2 format.

  1. Once the flash process completes. Power off the board, set the boot jumpers back to Boot from eMMC, apply power to the board to boot from eMMC.

Troubleshooting:

  1. After starting uuu, the board should enter to fastboot mode and wait for request from host PC:

If it stops in fastboot mode, it might need to install USB driver under MS windows. Please refer to Use zadig to install winusb driver chapter in UUU.pdf in MFGtool github)

  1. Enter shell mode is helpful to check uuu fails on what step. Add -s to enter shell mode. uuu.inputlog record all input commands you can use “uuu uuu.inputlog” next time to run all commands

.\uuu\windows64\uuu.exe -s -b emmc_all imx-boot-pico-imx8mm-sd.bin fsl-image-qt5-validation-imx-pico-imx8mm.sdcard.bz2/*

 

 

 

 

Stay up to date with all the latest TechNexion news...

Sign-up for our Newsletter