Flashing a Jaguar board with a Yocto Embedded Linux image - DynamicDevices/meta-dynamicdevices GitHub Wiki

Overview

Sometimes you need to be able to reflash a board locally with an embedded Linux image. Here we work through the specific steps needed to reflash a Jaguar unit with image files (artifacts) built with the Foundries.io build system.

For background please first check through the setup instructions such as those for the i.MX8MM EVK here.

We use an NXP tool called uuu for manufacturing programming which supercedes the older mfg-tool. You can find the uuu tool here.

In essence what happens is that we put the i.MX8MM SOC into a specific manufacturing programming mode. On the EVK this is done by changing boot DIP switches. Contact us for details on how to put specific Jaguar boards into this boot mode.

Then the USB-C power connector can be attached to a host PC and will enumerate as an NXP device for programming.

At this point you can run uuu with a specific script and specific build artifacts which will then be programmed into the onboard eMMC on the unit.

Example Foundries.io uuu process

You can use a command line such as this

sudo mfgtool-files-imx8mm-jaguar-sentai/uuu full_image.uuu

The example full_image.uuu file would look like this

uuu_version 1.2.39

SDP: boot -f imx-boot-mfgtool

SDPV: delay 1000
SDPV: write -f u-boot-mfgtool.itb
SDPV: jump

FB: ucmd setenv fastboot_dev mmc
FB: ucmd setenv mmcdev ${emmc_dev}
FB: ucmd mmc dev ${emmc_dev} 1; mmc erase 0 0x2000
FB: flash -raw2sparse all ../lmp-factory-image-imx8mm-jaguar-sentai.wic.gz/*
FB: flash bootloader ../imx-boot-imx8mm-jaguar-sentai
FB: flash bootloader2 ../u-boot-imx8mm-jaguar-sentai.itb
FB: flash bootloader_s ../imx-boot-imx8mm-jaguar-sentai
FB: flash bootloader2_s ../u-boot-imx8mm-jaguar-sentai.itb
FB: flash sit ../sit-imx8mm-jaguar-sentai.bin
FB: ucmd if env exists emmc_ack; then ; else setenv emmc_ack 0; fi;
FB: ucmd mmc partconf ${emmc_dev} ${emmc_ack} 1 0
FB: done

As can be seen this requires a set of artifacts which would normally be downloaded from the set of artifacts generated by a Foundries.io target build:

image

The specific artifacts you need to download are:

  • imx-boot-imx8mm-jaguar-XXX
  • u-boot-imx8mm-jaguar-XXX.itb
  • sit-imx8mm-jaguar-XXX.bin
  • lmp-factory-image-imx8mm-jaguar-XXX.wic.gz