Flashing new firmware

Changing the NavQPlus firmware and booting from SD Card or EMMC flash

Introduction

When new images are released, we will provide a link to them. To flash NavQPlus, normally there are two options. You can either flash the eMMC chip on-board, or flash the SD card included with the kit. The eMMC runs faster but is not removable like the SD card. The SD card is easily removeable and can be programmed quickly and directly from a PC. It is up to you to choose which one to use.

NXP Images

The official source for linux on NavQPlus *will eventually be NXP Linux Factory, however at the time of this writing it is a work in progress.

This NXP Linux Factory enablement is a work in progress. Meanwhile, links to images that can be downloaded and used on the NavQPlus are provided below. Building from scratch using NXP Linux Factory and Yocto requires some advanced knowledge and is not documented at this time. NavQPlus is similar to the 8MPlus EVK, but with some minor changes to the memory type, and the dtb files describing the board interfaces.

See below for instructions on how to flash the SD card or eMMC.

Third party images

The following images are prepared by 3rd parties and support the NavQPlus.

  • For use with iRobot Create3 (AKA Turtlebot4)

  • For use with NXP MR-B3RB

Emcraft Release Images

https://www.emcraft.com/products/1222#releases

Voxelbotics Release Images:

https://staging.voxelbotics.com/releases/

Rudis Labs Images:

https://github.com/rudislabs/navqplus-create3-images/releases/

Flashing image to an SDCard

The NavQPlus typically comes with a 16GB SD card or larger that you can flash with the pre-built Ubuntu 22.04 image. See below for instructions to flash your SD card on each platform.

You must have an SD card reader available on your system to perform these instructions. Low-cost USB dongles or hubs with SD Card slots are available.

Flashing SD card using Windows PC

Several free programs are available to flash an SD card with an image, we use Win32DiskImager.

Once you have downloaded Win32DiskImager, insert your SD card into your computer, open the program, and select the navqplus-image-{vX.X}.wic file as your image.

Next, select your SD card under Device.

Make CERTAIN that your Device selection is the correct drive letter for your SD card!!! You don't want to erase your hard drive! Only click "Write" after double checking for the correct drive letter!

Once the flashing process has finished, you should get a message saying that the write was successful.

Flashing SD card using Linux / Mac

To flash your SD card with the image you downloaded in step 1, we suggest using dd.

To do this, open a terminal and navigate to the folder that you downloaded the

navqplus-image-{vX.X}.wic file.

Once you are there, insert your SD card, and find the device path for it. Typically, it will be something like /dev/sdX on Linux or /dev/diskX on Mac.

Be VERY careful that you select the correct drive path when using dd to flash your SD card. You can confirm with the "Disks" app on Ubuntu or the "Disk Utility" app on Mac.

Once you have found your device path, run the following command in your terminal to flash the SD card:

Linux:

sudo dd if=navqplus-image-{vX.X}.wic of=/dev/sdX bs=1M status=progress oflag=sync

Mac:

sudo dd if=navqplus-image-{vX.X}.wic of=/dev/diskX bs=1m status=progress oflag=sync

Once this is done, your SD card will be flashed with the image.

Set Boot Switches for SD Card Boot

  • Remember to check that your boot switches are set to boot from SD.

Flashing the eMMC

(Flashing eMMC using uuu utility)

To flash the eMMC on your NavQPlus, you will need to download uuu, a tool created by NXP to flash NXP boards. Make sure to download the correct application for your platform. The file titled "uuu" with no file extension is a binary file for use on x86/64 Linux.

  • After downloading uuu, find the boot switches on your NavQ+ and flip them to the "Flash" mode.

  • Connect NavQ+ to your computer using the centermost USB-C port.

  • Run the following command to make sure that the NavQ+ is recognized by uuu:

./uuu[.exe] -lsusb

<TODO: Add image of output>

  • You should see that there is a device detected. If so, you can continue flashing. To flash your board, use one of the commands below depending on how the image was supplied:

When flashing the EMMC an additional .bin file is needed in addition to the .wic file. Recently the latest uuu was upgraded so these two files can now be included in a single zip and used without uncompressing. You may be supplied the .zip or the two separate files.

EMMC image supplied in .zip format then:

sudo ./uuu navqplus-image-{vX.X}_.zip

EMMC image supplied as .bin and .wic files:

sudo ./uuu[.exe] -b emmc_all navqplus-image-{vX.X}.bin -flash_evk navqplus-image-{vX.X}.wic

The SDCARD image also has a .wic file extension, so be sure you are using the correct file! You cannot flash this to EMMC without the corresponding .bin file, but you can use the EMMC .wic file to program an SDCARD, it is the same image.

  • Once this process has finished, make sure that the flash was successful by comparing to the image below. If so, configure your boot switches to boot from eMMC.

TODO: Add image

Last updated