Skip to main content

NXP SOC flashing

Devices based on NXP Socs need the UUU (Universal Update Utility) tool to write images using an USB connection to the Host PC and a builtin Serial Download mode on the device.

This variant of flashing generally applies to:

  • SOM-SMARC-MX8M-Plus (D18)
  • SOM-SMARC-MX93 (E39)
  • Modular Vision 7 MX93 (SF-E83-MV_E39)
  • Modular Vision MX8MP (SF-E83-MV_D18)
  • SOM-Trizeps-VIII-MX8M-Plus

Device specific variants of the flashing process

Please see subpages for additional hints regarding devices needing additional steps.

Prepare host PC

A PC running either Linux or Windows is required. A virtual machine is not recommended here, as the USB-passthrough may lead to problems.

The UUU tool from the silicon vendor is hosted on Github. Prebuilt images can be downloaded from the project's release page.
Some Linux OS distributions also provide it as a package via their package manager.

info

The instructions provided below refer to the usage of UUU tool under Linux OS. The same instructions can be applied to Windows by using the uuu.exe executable variant instead. Bash commands on any part of the guide can also be replaced by their respective Windows commands.

Download the binary fitting to your host system into a new, empty directory.

Download release artifacts

The actual device image needs to be downloaded from the specific Clea OS release. Check Download Links section page for further details.

The required files are:

  • U-Boot
  • Image (wic.bz2)

Select either Clea-OS Things or Clea-OS Embedded artifacts and download the files into the same directory as the UUU tool.

Decompress bootloader

On a Linux host the downloaded U-Boot files may be decompressed with the following command:

$ tar xf *.tar.gz

On a Windows host the downloaded files may be decompressed with the 7zip tool.

Preparing USB connection to the device

The flashing process using the UUU tool needs a USB connection to the device. The following USB cable is needed for each device:

  • B79 SMARC Carrier Board: USB-A to Micro-USB (Micro-B)
  • Modular Vision carrier: USB-A to USB-C
  • Carrier-Trizeps-pConXS-III: USB-A to USB-A

Enabling Serial Download mode

The device must be forced to start into USB Serial Download mode. The actual way this is achieved depends on the concrete device.

The instructions below show how Serial Download Mode can be enabled on each carrier board.

B79 SMARC Carrier Board

  • Power off the device.

  • Set the position of DIP SW13 and SW12 according to the figure below to perform eMMC boot.

alt text

  • Move switch 2 of dual DIP Switch SW13 to ON position in order to enable FORCE_RECOV# signal on the device.

  • Connect the USB type-A to Micro-USB cable to the CN30 connector of B79 SMARC carrier board on one side and the USB-A side to the host PC.

  • Power on the device.

Modular Vision

The boot sequence must be interrupted with a keypress in the debug console, in order to get access to the U-Boot prompt. The command line will look as follows:

MX SECO U-Boot >

Run the following command in the U-Boot terminal:

fastboot 1

The device has now entered Serial Download mode, and will seem unresponsive. Upon power cycling the effect of this command is reverted, and the device's eMMC contents are unaffected. One can simply repeat this procedure to enter Serial Download mode again.

Carrier-Trizeps-pConXS-III

  • Set both jumpers near the USB ports to "OTG".

  • The Carrier-Trizeps-pConXS-III device does not have a dedicated switch to enter the Serial Download Mode, so the following procedure must be followed:

  • The boot sequence must be interrupted with a keypress in the debug console, in order to get access to the U-Boot prompt.

    • If the module has the MCU placed, run the following command to reboot the module into Serial Download Mode:
      > i2c dev 2; i2c mw 0x10 2.1 2; reset
    • If the module has the MCU not placed, run the following command to erase the old bootloader and reboot the module into Serial Download Mode:
      > mmc partconf 0 1 0 1; mmc erase 1 100; mmc partconf 0 1 1 1; mmc erase 1 100; mmc partconf 0 0 0 0; mmc erase 1 100; reset
  • Connect the USB type-A to USB type-A cable to the lower port of dual-USB connector of pConXS III carrier board on one side but do not yet connect the other side to the Host PC.

  • Power off the device and leave it powered off.

Flashing the image

At this point, the device should be running in Serial Download Mode, and all files and tools should be available on the host PC.

Next, start the UUU-tool, with the needed release artifacts. imx-boot is the bootloader for mx8 devices, for mx6 devices it is called u-boot.imx.

    $ sudo ./uuu -b emmc_all <file_path_of_boot_loader> <file_path_of_image_file>

If you are using the Carrier-Trizeps-pConXS-III device, please power on the device at this point. The flashing operation will commence automatically.

The flashing operation will initiate and a progress bar will appear, as such:

    uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.165-0-g7347a80

Wait for Known USB Device Appear...
Success 0 Failure 0


1:6 4/ 8 [ 2% ] FB: flash -raw2sparse all seco-clea-os-image-seco-imx8mp-d18.rootfs.wic.bz2/*

After it reports 'Done', as seen below, the device can be powercycled to boot into the newly installed CLEA OS.

    uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.191-4-g64a5a8f

Success 1 Failure 0


1:1-0319A800 7/ 7 [Done ] FB: done