Skip to content

Use mfgtool "uuu" to flash eMMC

Richard Hu edited this page May 17, 2021 · 77 revisions

mfgtool usage

MFGtool is the manufacturing tool provided by NXP. Here the mfgtool we use is mfgtools 3.0 - "uuu". This tool is able to be executed under windows and linux environment.

Supported platform

Mfgtools "uuu" on TechNexion github:

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

Download: 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 file server.

  3. Extract xxx_yocto_xxx.zip, and there are bootloader binary and yocto image inside. uuu_linux_demo_01.png

  4. Excute uuu to start flashing process.

Different instructions to flash image into eMMC

For iMX6UL and iMX6ULL

Burn image(.sdcard) into eMMC

sudo uuu/linux64/uuu -b emmc_imx6ul_img imx6ul/imx6ul-SPL imx6ul/imx6ul-u-boot.img fsl-image-qt5-validation-imx-pico-imx6ul.sdcard

For iMX6Solo, iMX6DL and iMX6Q

Burn image(.sdcard) into eMMC

sudo uuu/linux64/uuu -b emmc_imx6_img imx6/imx6-SPL imx6/imx6-u-boot.img fsl-image-qt5-validation-imx-pico-imx6.sdcard

For iMX7D

Burn image(.sdcard) into eMMC

sudo uuu/linux64/uuu -b emmc_imx7_img imx7/imx7-SPL imx7/imx7-u-boot.img fsl-image-qt5-validation-imx-pico-imx7.sdcard

For iMX8M/8MM

Burn image(.bz2) into eMMC

sudo uuu/linux64/uuu -b emmc_img imx8mm/pico-imx8mm-flash.bin fsl-image-qt5-validation-imx-pico-imx8mm.sdcard.bz2/*

Burn image into eMMC

sudo uuu/linux64/uuu -b emmc_img imx8mm/pico-imx8mm-flash.bin fsl-image-qt5-validation-imx-pico-imx8mm.sdcard

Burn whole image(.bz2) to eMMC and boot loader to eMMC boot area

sudo uuu/linux64/uuu -b emmc_all imx8mm/pico-imx8mm-flash.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 `pico-imx8mm-flash.bin` boot0 partition of eMMC, 
then enable boot partition of eMMC.

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

Here,

pico-imx8mm-flash.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. Set the boot jumpers to Boot from eMMC and reset 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. First, 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. Excute Windows Powershell or cmd with administrator permission.

  5. Extract xxx_yocto_xxx.zip, and there are bootloader binary and yocto image inside. uuu_windows_demo_03.png

  6. Excute uuu to start flashing process.

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

Different instructions to flash image into eMMC

For iMX6UL and iMX6ULL

Burn image(.sdcard) into eMMC

uuu\windows64\uuu.exe -b emmc_imx6ul_img imx6ul\imx6ul-SPL imx6ul\imx6ul-u-boot.img fsl-image-qt5-validation-imx-pico-imx6ul.sdcard

For iMX6Solo, iMX6DL and iMX6Q

Burn image(.sdcard) into eMMC

uuu\windows64\uuu.exe -b emmc_imx6_img imx6\imx6-SPL imx6\imx6-u-boot.img fsl-image-qt5-validation-imx-pico-imx6.sdcard

For iMX7D

Burn image(.sdcard) into eMMC

uuu\windows64\uuu.exe -b emmc_imx7_img imx7\imx7-SPL imx7\imx7-u-boot.img fsl-image-qt5-validation-imx-pico-imx7.sdcard

For iMX8M/8MM

Burn image(.bz2) into eMMC

uuu\windows64\uuu.exe -b emmc_img imx8mm\pico-imx8mm-flash.bin fsl-image-qt5-validation-imx-pico-imx8mm.sdcard.bz2\*

Burn image into eMMC

uuu\windows64\uuu.exe -b emmc_img imx8mm\pico-imx8mm-flash.bin fsl-image-qt5-validation-imx-pico-imx8mm.sdcard

Burn whole image(.bz2) to eMMC and boot loader to eMMC boot area

uuu\windows64\uuu.exe -b emmc_all imx8mm\pico-imx8mm-flash.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 `pico-imx8mm-flash.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. uuu_windows_demo_02.png

Here,

pico-imx8mm-flash.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. Set the boot jumpers to Boot from eMMC and reset 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:

uuu_troubleshooting_01.png

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)

Zadig link

uuu_troubleshooting_02.png

  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 imx8mm\pico-imx8mm-flash.bin fsl-image-qt5-validation-imx-pico-imx8mm.sdcard.bz2/*