Skip to content

Flashing the eMMC

Three methods are available to program the eMMC on Engicam NXP modules:

Method SD Card Required Full Image Component-level Best For
Direct dd from SD Yes Yes No Quick, simple flashing
Engicam scripts Yes Optional Yes Development, partial updates
UUU (USB recovery) No Yes Yes Production, blank eMMC, recovery

Board-specific boot procedures

The steps to boot from SD card and to enter USB recovery mode differ between Engicam modules and carrier boards.
Always consult the Hardware Reference Manual of your specific module and board to identify:

  • Boot mode jumpers or DIP switches
  • USB OTG / programming connector location
  • eMMC and SD device node numbers (mmcblk0, mmcblk1, mmcblk2)

Method 1 — Direct dd from SD Card

  1. Flash a bootable SD card (see Flashing an SD Card).
  2. Insert the SD card into the board and set it to SD boot mode.
  3. Boot Linux from the SD card.
  4. Transfer the new image to the running system (USB stick, network, or the SD card itself).
  5. Flash the eMMC:
zstdcat -cd <image>.wic.zst | sudo dd of=/dev/mmcblk2 bs=10M status=progress && sync

Tip

/dev/mmcblk2 is typically the eMMC, but verify with lsblk on your specific board.

  1. Power cycle and switch to eMMC boot mode.

Method 2 — Engicam eMMC Scripts

Engicam provides component-level flashing scripts via the Yocto recipe engicam-emmc-tools from meta-engicam-nxp.

Prepare Files

Rename the Yocto build outputs as expected by the scripts:

Yocto Output Required Name
engicam-evaluation-image-<machine>.tar.zst rootfs.tar.zst
Image-<machine>.bin Image
<machine>-<dtb>.dtb <dtb>.dtb
imx-boot-<machine>-sd.bin-flash_evk flash.bin

Copy files to a USB stick and mount it on the running SD card system:

mount /dev/sda1 /mnt

Available Scripts

Script Flashes Required File(s)
emmc_boot.sh U-Boot flash.bin
emmc_ker.sh Kernel Image
emmc_dtb.sh Device Tree *.dtb
emmc_ker_dtb.sh Kernel + DTB Image, *.dtb
emmc_fs.sh Root filesystem rootfs.tar.zst
emmc_fs_ker_dtb.sh Filesystem + Kernel + DTB All above
emmc_sdcard.sh Full disk image .wic / .wic.zst

Run a script with -h to see its usage:

emmc_boot.sh -h

Method 3 — UUU (USB Recovery)

NXP's Universal Update Utility programs the eMMC over USB without an SD card — no bootable SD required. It is the recommended method for production flashing and blank eMMC recovery.

sudo uuu -b emmc_all imx-boot-<machine>.bin <image>.wic.zst

For installation, USB recovery mode setup, boot scripts, and advanced usage see the UUU Tool page.