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:
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