Setting up the i.MX 8M Plus SOM Starter Kit

1. Unpacking the Kit

The i.MX 8M NAVQ Plus kit arrives packaged into a box. Please notice the printed label on the top of the box. Please store or photograph the label, it may be needed if you need to contact the support team with questions or support issues.

Open the box, remove the cables and boards. The following picture illustrates the kit at the final stage of unpacking:

2. Understanding Kit Contents

As shipped, the kit is assembled as a miniature 2-layers "Cube". This "Cube", when assembled together, presents an i.MX 8M Plus-based embedded computer, composed of the following stacked hardware modules:

  • i.MX 8M Plus System-On-Module (SOM), which integrates the NXP i.MX 8M Plus Quad SoC, 6GB LPDDR4, 16GB eMMC, WiFi/BT on a miniature (58mm x 58mm) computer module, connected to a carrier board using 4 board-to-board connectors. The i.MX 8M Plus SOM is an off-the-shelf System-On-Module product, ready for deployment in various embedded applications.

  • NavQ Plus baseboard is the second board in the stack, which provides various UI and I/O interfaces.

The following add-on boards are included in the kit:

  • USB-to-UART converter "dongle" USB TypeC connector is used in this adapter.

The following cables are included in the kit:

  • USB Type C to USB Type A cable;

  • Ethernet cable;

  • microHDMI to HDMI cable.

3. Setting Up Serial Console

The serial console UART interface is used to get access to the i.MX 8M Plus U-Boot and Linux serial console. This is the primary user interface the kit provides to software developers. You won't be able to do much unless you have access to the serial console.

Both U-Boot and Linux are configured to use the i.MX 8M Plus UART2 port for the serial console. The kit provides UART2 as a 3.3V interface on the 6-pin J10 connector residing on the NavQ Plus board. In order to connect the serial console to a PC, you must convert the 3.3V UART interface to a USB serial interface. This requires connecting an external device ("USB-to-UART converter dongle") to the kit. The kit comes cabled to such a dongle, so all you have to do to plug the USB end of the dongle to your PC. Just in case, the following table provides pin-out of the "J10" port on the HGI board:

UART2 Connector Pin#

Signal Name

Description

1

5VP

+5V

2

UART2_TXD_3V3

UART TX

3

UART2_RXD_3V3

UART RX

4

UART2_CTS_3V3

UART CTS

5

UART2_RTS_3V3

UART RTS

6

GND

Ground

To complete connection of the serial console to your PC, plug the USB end of the USB--UART dongle into a free USB port on your PC. The LED On the USB-to-UART dongle should lit up at this point:

Linux running on the PC will recognise the new serial device and make it available in the system as a /dev/ttyUSBx TTY device. Use the dmesg utility to determine a specific TTY device Linux has assigned to the serial console port on your kit:

$ dmesg | tail [495846.154337] cp210x 1-5.1.5:1.0: cp210x converter detected [495846.216898] usb 1-5.1.5: reset full-speed USB device number 8 using ehci-pci [495846.292179] usb 1-5.1.5: cp210x converter now attached to ttyUSB0

On the kit side, U-Boot and Linux configure the serial console as follows: 115200 bps, N, 8, 1 (8 bit, no parity, no flow control). Use your favorite Linux serial terminal utility to connect to the kit serial console from the Linux host. For instance:

$ picocom –l /dev/ttyUSB0 –b 115200

4. Powering Up

To power the kit up, plug the USB Type C to USB Type A cable between the USB Type C port labeled USB2 on the NavQ Plus board and a free USB port on your PC host. The kit will power up as soon as power is applied via the USB cable:

Note: Power consumption of the kit, comprised of the 3 stacked hardware modules with the add-on boards and depending on software configuration, may exceed 8-10W or be even higher in some I/O intensive configurations. We recommend connecting the kit to the following USB power supplies:

5. Running First Linux Session

The i.MX 8M Plus SOM arrives with default Linux images pre-installed to the eMMC Flash disk. As soon as the kit is powered up, Linux will boot up, with the following messages showing up in your serial terminal window:

U-Boot SPL 2019.04+gd62847f248 (May 19 2020 - 09:22:02 +0000) power_bd71837_init DDRINFO: start DRAM init DDRINFO:ddrphy calibration done DDRINFO: ddrmix config done Normal Boot Trying to boot from MMC2 U-Boot 2019.04+gd62847f248 (May 19 2020 - 09:22:02 +0000) CPU: Freescale i.MX8MMQ rev1.0 1800 MHz (running at 1200 MHz) CPU: Commercial temperature grade (0C to 95C) at 36C Reset cause: POR Model: Emcraft i.MX8MM Cube board DRAM: 2 GiB ... Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034] [ 0.000000] Linux version 5.4.3+ga922dd67988c (oe-user@oe-host) (gcc version 9.2.0 (GCC)) #1 SMP PREEMPT Tue May 19 10:16:49 UTC 2020 ... i.MX 8M Mini Release beta1-20200519 imx8mmcube ttymxc1 imx8mmcube login:

To login enter the user user, with the password user. At this point, you are running the Linux shell on the i.MX 8M Plus. To have the superuser access to all Linux controls and capabilities, run sudo su, with the same password.

6. Using Other I/O Interfaces

Use of the advanced I/O interfaces provided by the kit, such as 1GB Ethernet, MIPI-DSI, MIPI-CSI, HDMI and others, is discussed in the follow-up application notes available on the web site.

7. Troubleshooting

In case you are unable to get a Linux session on your kit, step through the following troubleshooting steps, in the descending order:

  • Obtain power through a link to a USB port in a PC or notebook. Using a smartphone power supply or an unpowered USB hub may result in insufficient power to the kit.

  • Configure the serial terminal program for the exact UART parameters specified above in this note.

  • Make sure you disable flow control (modem control) in the terminal program.

  • On some Linux distributions, connecting to a UART/USB device causes the Modem Manager package to try opening the TTY device and sending modem commands to it, thus occupying the port. To avoid this effect, the Modem Manager package must be disabled on the host with the following command:

If the above steps do not help, contact the support team with a detailed description of your problem. We will do our best to help quickly.