Getting Started with the i.MX 8M Mini EVKB | NXP Semiconductors

Getting Started with the i.MX 8M Mini EVKB

Last Modified: Mar 26, 2019Supports i.MX 8M Mini Evaluation Kit

1. Out of the Box

1.1 i.MX 8M Mini EVK Out of the Box

Video Player is loading.
Current Time 0:00
Duration 4:19
Loaded: 0%
Stream Type LIVE
Remaining Time 4:19
 
1x
  • Chapters
  • descriptions off, selected
  • captions off, selected
  • en (Main), selected

The following section describes the steps to boot the i.MX 8M Mini LPDDR4 EVKB.

Development kit contains:

  • i.MX 8M Mini LPDDR4 EVKB board for smart devices
  • USB micro-B Cable
  • USB Type-C Cable – Type-C Male to Type-A Male
  • USB Type-C to A adapter
  • USB Type C 45 W Power Delivery Supply, 5 V/3 A; 9 V/3 A; 15 V/3 A; 20 V/2.25 A supported
  • IMX-MIPI-HDMI Daughter Card
  • Mini-SAS cable
  • Android BSP flashed into the eMMC
  • Quick Start Guide

Get started developing your application on the i.MX 8M Mini EVKB with the out-of-the-box video. For more information, please visit the i.MX 8M Mini applications processor Documentation.

1.2 Get Familiar With the Board

8MMINILPD4-EVKB-TOP-LABELS

8MMINILPD4-EVKB-TOP-LABELS

8MMINILPD4-EVKB-BACK-LABELS

8MMINILPD4-EVKB-BACK-LABELS

The i.MX 8M Mini EVKB kit comes with a IMX-MIPI-HDMI daughter card which is required to showcase the boards video capabilities. Connect the daughter card to the Mini-SAS cable and into connector labeled DSI MIPI until you hear a click.

IMX8MMINIEVK-BOARD2

IMX8MMINIEVK-BOARD2

1.3 Boot From eMMC

The i.MX 8M Mini EVKB comes with a pre-built NXP Android binary demo image flashed on the eMMC. Without modifying the binary inside, booting from the eMMC provides a default system with certain features for building other applications on top of Android.

To understand more about NXP's Embedded Linux®, Embedded Android™, or MCUXpresso SDK, continue reading the next sections.

1.4 Connect USB Debug Cable

Connect the micro-B end of the supplied USB cable into Debug UART port J901. Connect the other end of the cable to a host computer.

If you are not sure about how to use a terminal application, try one of the following tutorials depending on the operating system of the host machine: Minicom Tutorial, Tera Term Tutorial, PuTTY Tutorial.

1.5 Connect the HDMI Cable

To see the user interface provided with the image binary connect a monitor via the HDMI connector (true).

1.6 Boot Switch Setup

The boot sequence is detailed in the i.MX 8M Mini Reference Manual. In short, the boot modes of the i.MX boards are controlled by the boot configuration switches.

The switches set the boot media (depending on board, i.e. SD card, eMMC, NAND), the serial download protocol mode (SDP) or the value set on eFuses.

The SDP is also the fallback for the boot media, in other words, when the switches are configured to boot from SD card but the SD card slot is empty, or the SD card binary content is not bootable, the boot sequence continues to the SDP boot.

The following table lists the boot switch settings on the i.MX 8M Mini EVK board. The same information can be found on i.MX 8M Mini Reference Manual and on silkscreen on the board near the switches.

Switch SW1101 [D1-D10] SW1102 [D1-D10]
eMMC/uSDHC3 (default) 0110110001 0001010100
MicroSD/SDHC2 0110110010 0001101000
QSPI NOR Flash 0110xxxxxx 00000x0010
Serial Download Mode 1010xxxxxx xxxxxxxxx0

1.7 Connect Power Supply

Connect the power supply cable to the power connector (J302).

Power the board by flipping the switch (SW101).

The processor starts executing from the on-chip ROM code. With the default boot switch setup, the code reads the fuses to define the media where it is expected to have a bootable image. After it finds a bootable image, the U-Boot execution should begin automatically.

Information is printed in the smaller number serial console for the Cortex®-A53. If you do not stop the U-Boot process, it continues to boot the Linux kernel.

1.8 Congratulations, Android has Booted

During the boot process, the Android logo appears on the HDMI display. Note that the HDMI output resolution is 1080P fixed — to change it, check the Android Documentation.

The Android UI can be seen after the boot process is finished. You can start operating with the mouse.

2. Embedded Linux®

2.1 Overview

This section is applicable ONLY if attempting to load a Linux operating system on the board.

The i.MX Linux Board Support Package (BSP) is a collection of binary files, source code, and support files that are used to boot an Embedded Linux image on a specific i.MX development platform.

Current releases of Linux binary demo files can be found on the i.MX Linux download page. The Linux User Guide and Linux Reference Manual provide additional information. Additional documentation can be found the i.MX Linux documentation bundle, or under the Linux sections on the i.MX Software and Development Tool.

Before the Linux OS kernel can boot on an i.MX board, the Linux kernel is loaded to a boot device (SD card, eMMC and so on) and the boot switches are set to boot that device.

There are various ways to download the Linux BSP image for different boards and boot devices.

For this getting started guide, only a few methods to transfer the Linux BSP image to an SD card are listed. Experienced Linux developers can explore other options.

2.2 Download an NXP Linux BSP Pre-Built Image

The latest pre-built images for the i.MX 8M Mini EVKB are available on the Linux download page. The image file gathers every artifact required to boot the board gathers every artifact required to boot the board.

The pre-built NXP Linux binary demo image provides a typical system and basic set of features for using and evaluating the processor. Without modifying the system, the users can evaluate hardware interfaces, test SoC features, and run user space applications.

When more flexibility is desired, an SD card can be loaded with individual components (boot loader, kernel, dtb file, and rootfs file) one-by-one or the .sdcard is loaded and the individual parts are overwritten with the specific components.

Choose an option below for detailed instructions:

3. Build, Run

3.1 Overview

This section describes the boot process of loading the i.MX 8M Mini EVKB board with an Embedded Android system image and introduces how to build the software components that create your own system image. For details on building the Android platform, see Build Android documentation.

The current release includes Demo Images, source code and Documentation. These can also be found in Android OS for i.MX Applications Processor.

The storage devices on the development system (MMC/SD or NAND) must be programmed with the U-Boot boot loader. The boot process determines which storage device to access based on the switch settings. When the boot loader is loaded and begins execution, the U-Boot environment space is then read to determine how to proceed with the boot process.

The images can come from pre-built release packages or be created from source code. Regardless of how you obtain them, all Android images contain the following components:

  • U-Boot image: u-boot.imx
  • boot image: boot.img
  • Android system root image: system.img
  • Recovery root image: recovery.img

For more information about the Android BSP, refer to the Android User Guide.

Download NXP Android BSP Image

The pre-built NXP Android demo image provides a default system with certain features for evaluation. Without modifying the system, users can perform some basic operations, and interact with the system to test hardware interfaces and develop software applications in the user space.

The pre-built images from the package are categorized by boot device and put in the directory with the device name. The latest pre-built image files can be found in the Android section on the i.MX Software and Development Tool, or on the demo images downloader link.

Burn NXP Android BSP Image Using UUU

In addition to the connections from out of box chapter, connect the J301 to the host machine using the proper USB cable.

Turn off the board. Consult Boot switch setup and configure the board to boot on SDP (Serial Download Protocol) mode.

Depending on the OS used in the host machine, the way to transfer the Android BSP image onto an SD card can vary. Choose an option below for detailed instructions:

4. MCUXpresso SDK

4.1 Overview

The MCUXpresso Software Development Kit (MCUXpresso SDK) provides comprehensive software source code to be executed in the i.MX 8M Mini M4 core. If you do not wish to enable the Cortex®-M4 on i.MX 8M Mini at this moment you can skip this section.

The MCUXpresso SDK is designed for the development of embedded applications for Cortex-M4 standalone or collaborative use with the A cores. Along with the peripheral drivers, the MCUXpresso SDK provides an extensive and rich set of example applications covering everything from basic peripheral use case examples to demo applications. The MCUXpresso SDK also contains RTOS kernels, and device stack, and various other middleware to support rapid development.

This guide shows how to run the imx8mm_m4_TCM_hello_world.bin demo provided by the 4.14.78_1.0.0_ga release. For detailed information on MCUXpresso SDK and how to build and deploy custom demos, please see the MCUXpresso SDK site .

4.2 Run Applications Using U-Boot

This section describes how to run applications using an SD card and pre-built U-Boot image for i.MX processor.

  1. Following the steps on the Embedded Linux® tab, prepare an SD card with a pre-built U-Boot + Linux image from the Linux BSP package for the i.MX 8M Mini processor. If you have already loaded the SD card with a Linux image, you can skip this step
  2. Insert the SD card in the host computer (Linux or Windows), and copy the application image (for example imx8mm_m4_TCM_hello_world.bin) to the FAT partition of the SD card
  3. Safely remove the SD card from the PC
  4. Insert the SD card to the target board. Make sure to use the default boot SD slot and double check the Boot switch setup. The default configuration of the validation board boots from J1701, and on EVK board there is only one SD slot which is used for boot
  5. Connect the DEBUG UART connector on the board to the PC through USB cable. The Windows OS installs the USB driver automatically, and the Ubuntu OS will find the serial devices as well.

    See Connect USB debug cable section in Out of box for more instructions on serial communication applications

  6. Open a second terminal on the i.MX 8M Mini EVKB board’s second enumerated serial port. This is the Cortex®-M4’s serial console. Set the speed to 115200 bit/s, data bits 8, no parity
  7. Power up the board and stop the boot process by pressing any key before the U-Boot countdown reaches zero. At the U-Boot prompt on the first terminal, type the following commands.

    1=> fatload mmc 0:1 0x7e0000 imx8mm_m4_TCM_hello_world.bin => bootaux 0x7e0000

These commands copy the image file from the first partition of the SD card into the Cortex-M4’s memory and releases the Cortex-M4 from reset.