...
Note that the procedure will erase all data that might be present on the boot media previously.
2. Locating uuu Tool
...
The i.MX 8M NAVQ Plus kit software manufacturing procedure makes use of the NXP uuu
tool running on the Linux development host. The uuu
tool performs installation of the Yocto images from the development host to the kit using the USB Serial Downloader interface.
...
If required, the recommended version of the uuu
tool can be downloaded from the NXP github
page: https://github.com/NXPmicro/mfgtools/releases/latest.
3. Torizon OS install images
Download the archive with the release images for your target board from the Emcraft site and unpack them into an arbitrary directory on the Linux host:
TBD: add link to the tarball
The tarball consists of three images:
imx-boot
- the bootloader image for the i.MX 8MPlus NAVQ+ boardimx8mp-navqp-sota.wks-202503060946-mmcblk.direct
- the EMCC image with Torizon OSuuu
- theuuu
tool to install the EMMC image to the target board
If you are installing the images built by Yocto (as opposed to using the pre-built images available from the Emcraft web site), navigate to the $BUILDDIR/deploy/images/$MACHINE
directory in the Yocto work directory. Refer to Understanding Build Outcome for details on the files structure in the deploy directory.
4. Installing Using USB Serial Downloader Protocol (SDP)
Perform the following step-wise procedure to install the Yocto images to the i.MX 8M NAVQ Plus kit:
Power the kit off by disconnecting the USB Type C cable from the development host.
Set the target boot mode to the USB serial downloader mode by setting the boot switches as follows:
SW2.1 - 1
SW2.2 - 0
Power the kit on by connecting the USB Type C cable to the development host. Use the kit port labeled
USB1
.Check that the new USB device has appeared on your development host:
Code Block $ lsusb | grep -i nxp Bus 001 Device 025: ID 1fc9:0146 NXP Semiconductors
On the host, go to the Torizon OS build directory:
Code Block $ cd ~/yocto-workdir/build-imx8mp-navqp $ ls imx8mp-navqp-sota.wks*direct imx8mp-navqp-sota.wks-202503060946-mmcblk.direct $ ls deploy/images/imx8mp-navqp/imx-boot deploy/images/imx8mp-navqp/imx-boot
The images above are:
imx-boot
- U-Boot-ATF-OPTEE boot image;imx8mp-navqp-sota.wks-<timestamp>-mmcblk.direct
- eMMC image with Torizon OS;
Launch the
uuu
tool with appropriate script as a parameter for installing the bootable Linux image:Code Block $ sudo ~/uuu -v -b emmc_all deploy/images/imx8mp-navqp/imx-boot imx8mp-navqp-sota.wks-202503060946-mmcblk.direct Wait for Known USB Device Appear...
The
uuu
tool will proceed to install the Production Yocto image to the storage device (EMMC) on the target board:Code Block uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.165-0-g7347a80 ... FB: ucmd setenv fastboot_dev mmc FB: ucmd setenv mmcdev ${emmc_dev} FB: ucmd mmc dev ${emmc_dev} FB: flash -raw2sparse all imx8mp-navqp-sota.wks-202503060946-mmcblk.direct FB: flash -scanterm -scanlimited 0x800000 bootloader deploy/images/imx8mp-navqp/imx-boot 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 Wait for Known USB Device Appear... New USB Device Attached at 3:312 3:312>Start Cmd:SDPS: boot -scanterm -f deploy/images/imx8mp-navqp/imx-boot -scanlimited 0x800000 100%3:312>Okay (2.223s) New USB Device Attached at 3:312 3:312>Start Cmd:FB: ucmd setenv fastboot_dev mmc 3:312>Okay (0.098s) 3:312>Start Cmd:FB: ucmd setenv mmcdev ${emmc_dev} 3:312>Okay (0.122s) 3:312>Start Cmd:FB: ucmd mmc dev ${emmc_dev} 3:312>Okay (0.044s) 3:312>Start Cmd:FB: flash -raw2sparse all imx8mp-navqp-sota.wks-202503060946-mmcblk.direct 100%3:312>Okay (119.6s) 3:312>Start Cmd:FB: flash -scanterm -scanlimited 0x800000 bootloader deploy/images/imx8mp-navqp/imx-boot 0x400000003:312>Okay (0.188s) 3:312>Start Cmd:FB: ucmd if env exists emmc_ack; then ; else setenv emmc_ack 0; fi; 3:312>Okay (0.01s) 3:312>Start Cmd:FB: ucmd mmc partconf ${emmc_dev} ${emmc_ack} 1 0 3:312>Okay (0.01s) 3:312>Start Cmd:FB: done 3:312>Okay (0s)
When
uuu
has finished, the bootable Linux image has been installed to the on-module storage. Given proper setting of the boot switches, next power-on will boot the target board from the EMMC storage device.
...
5. Verifying New Installation
Perform the following step-wise procedure to verify boot of the newly installed Linux images from the on-module EMMC:
...