Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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:

  1. imx-boot - the bootloader image for the i.MX 8MPlus NAVQ+ board

  2. imx8mp-navqp-sota.wks-202503060946-mmcblk.direct - the EMCC image with Torizon OS

  3. uuu - the uuu 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:

  1. Power the kit off by disconnecting the USB Type C cable from the development host.

  2. Set the target boot mode to the USB serial downloader mode by setting the boot switches as follows:

    • SW2.1 - 1

    • SW2.2 - 0

  3. Power the kit on by connecting the USB Type C cable to the development host. Use the kit port labeled USB1.

  4. 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
  5. 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;

  6. 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...
  7. 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)
    
  8. 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:

...