1
Out of the Box2
Embedded Linux®3
Embedded Android™4
MCUXpresso SDKThe following section describes the steps to boot the i.MX 8ULP EVK.
Development kit contains:
Something went wrong! Please try again.
The i.MX 8ULP EVK comes with a pre-built NXP Linux 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 Linux.
To understand more about NXP’s Embedded Linux®, continue reading the next sections.
Something went wrong! Please try again.
Connect the micro-B end of the supplied USB cable into Debug UART port J13
. 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
Something went wrong! Please try again.
To see the user interface provided with the image binary, connect a monitor via the HDMI connector (J1
).
Something went wrong! Please try again.
The boot sequence is detailed in the i.MX 8ULP 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.
Figure 4. Boot switch setup for i.MX 8ULP EVK
The following table lists the boot switch settings on the i.MX 8ULP EVK board. The same information can be found on i.MX 8ULP Reference Manual and on silkscreen on the board near the switches.
Boot Mode | SW5
[D8-D1] |
Boot from Fuses | 00xxxxxx |
Serial Download | 01xxxxxx |
A35-eMMC/M33-SPI NOR | 10000010 |
Boot Mode | SW5
[D8-D1] |
Single Boot-eMMC | 1000xx00 |
Single Boot-SPI NOR | 1010xx00 |
A35-eMMC/M33-SPI NOR (LP Boot) | 100000x1 |
A35-SPI NOR/M33-SPI NOR (LP Boot) | 100111x1 |
Note: Make sure the boot switch is configured to boot from emmc.
Something went wrong! Please try again.
Connect the power supply cable to the power connector (baseboard P1
). Power the board by flipping the switch
(SW10
).
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 serial console for the Cortex®-A35. If you do not stop the U-Boot process, it continues to boot the kernel.
Something went wrong! Please try again.
Once Linux is booted, login using the username root and no password.
Note: To proceed to U-Boot, press any key before the value of the U-Boot environment variable, bootdelay, decreases and before it times out (default 3 seconds). If you stop the U-Boot process, you can run the following command to continue with the Linux boot process:
# boot
Something went wrong! Please try again.
The NXP Demo Experience is a user-friendly interface that allows you to launch preselected demonstrations included in the Linux Board Support Package (BSP) that NXP provides.
Something went wrong! Please try again.
On boards where the NXP Demo Experience is available, an NXP Logo is displayed on the top left-hand corner of the screen. Users can start the demo launcher by clicking this logo.
After opening the program, users can launch demos using the following options shown in the figure below:
Note: Only one demo can be launched at a time.
To use this software, users need at a minimum:
Something went wrong! Please try again.
Demos can also be launched from the command line through log-in into the board remotely or using the onboard serial debug console. Keep in mind that most demos still require a display to run successfully.
Note: If prompted for a login, the default username is "root" and no password is required.
To start the text user interface, type the following command into the command line.
# demoexperience tui
The interface can be navigated using the following keyboard inputs:
Demos can be closed by closing the demo onscreen or pressing the "Ctrl" and "C" keys at the same time.
Something went wrong! Please try again.
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. Additional documentation is available in the i.MX Linux documentation bundle under the Linux sections of 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.
Something went wrong! Please try again.
The latest pre-built images for the i.MX 8ULP EVK are available on the Linux download page under the most current version on Linux.
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
image is loaded and the individual parts are overwritten with the specific
components.
Something went wrong! Please try again.
In addition to the connections from Out of the Box chapter, connect the baseboard USB0 to the host machine using the proper USB cable.
Turn off the board. Consult Boot switch setup and configure the board to boot on serial download protocol (SDP) mode.
Depending on the OS used in the host machine, the way to transfer the Linux BSP image onto an SD card can vary. Choose an option below for detailed instructions:
Download the latest stable files from UUU GitHub page. If further assistance for UUU is needed, please refer to this extensive tutorial.
UUU
libusb1
(via apt-get or any other package manager)By default, this procedure flashes the image to the eMMC flash. Check the UUU GitHub page for reference on how to flash the image to other devices.
Open a terminal application and change the directory to the location where UUU
and the latest Linux distribution for i.MX 8ULP EVK are located. Add execution permission to the
UUU
file and execute it. UUU
will wait for the USB device to connect.
$ chmod a+x uuu
$ sudo ./uuu <release package>.zip
UUU
will start to copy the images to the board.
When it finishes, turn off the board and consult. If further assistance is needed to configure the board to boot from emmc, please consult the Boot switch setup.
Download the latest stable files from UUU GitHub page. If further assistance for UUU is needed, please refer to this extensive tutorial.
UUU.exe
By default, this procedure flashes the image to the emmc flash. Check the UUU GitHub page for reference on how to flash the image to other devices.
Open the command prompt application and navigate to the directory where the UUU.exe
file and the Linux
release for the i.MX 8ULP EVK are located.
UUU.exe <kernel_version>_images_<SOC>.zip
Turn on the board and
UUU
will start to copy the images to the board.
When it finishes, turn off the board and consult. If further assistance with configuring the board to boot from emmc, please consult the Boot switch setup.
Something went wrong! Please try again.
By default, this procedure flashes the image to the eMMC flash. Check the UUU GitHub page for reference on how to flash the image to other devices.
Open the command prompt application and navigate to the directory where the
uuu.exe file and the Linux release for the i.MX 8ULP EVK are located
> uuu.exe <kernel_version>_images <SOC>.zip
Turn on the board and UUU starts to copy the images to the board.
When it finishes, turn off the board and consult Boot switch setup to configure the board to boot from eMMC.
Something went wrong! Please try again.
This section describes the boot process of loading the i.MX 8ULP EVK 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 this Android building guide .
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 i.MX bootloader. 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.imx
boot.img
system.img
recovery.img
For more information about the Android BSP, refer to the Android user guide.
Something went wrong! Please try again.
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 application 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 Tools or on the demo images downloader link.
Something went wrong! Please try again.
In addition to the connections from the
Out of the Box
chapter, connect the
TYPE-C Port0 USB 3.0
to the host machine using the proper USB cable.
Turn off the board.
Consult the Boot switch setup and configure the board to boot on serial download protocol (SDP) mode.
Depending on the OS used in the host machine, the way to transfer the Android BSP image onto an eMMC can vary.
Once the image is copied to the board, turn off the board and consult Boot switch setup to configure the board to boot from eMMC.
Something went wrong! Please try again.
The MCUXpresso SDK is designed for the development of embedded applications for Cortex®-M33 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
m33_image.bin
demo provided by the
REL_2.14.0
release. For detailed information on MCUXpresso SDK and how to build and
deploy custom demos, please visit the
MCUXpresso SDK site
Something went wrong! Please try again.
This section describes how to run applications using the imx-mkimage tool and the pre-built m33_image.bin image for the i.MX 8ULP processor. The imx-mkimage tool generates a boot image container that bundles the different firmware images for i.MX 8ULP processors.
imx8ulp_m33_TCM_power_mode_switch.bin
is the default
Cortex®-M33 reference demo image
mx8ulpa2-ahab-container.img
)upower.bin
)u-boot-spl.bin
)u-boot.bin
)bl31.bin
)imx-mkimage/iMX8ULP
folderimx-mkimage/iMX8ULP
folder and rename the binary to
m33_image.bin
bl31.bin
m33_image.bin
mx8ulpa2-ahab-container.img
u-boot.bin
u-boot-spl.bin
upower.bin
make SOC=iMX8ULP REV=A2 flash_singleboot_m33
iMX8ULP/flash.bin
Connect the TYPE-C Port0 USB 3.0
to the host machine
using the proper USB cable.
Something went wrong! Please try again.
On the command prompt of the Linux host machine, run the following command to determine the port number:
$ ls /dev/ttyUSB*
The smaller number is for Arm® Cortex®-A35 core and the bigger number is for Arm® Cortex®- M33 core.
Use the following commands to install and run the serial communication program (minicom as an example):
$ sudo apt-get install minicom
sudo minicom -s
The FTDI USB-serial chip on i.MX 8ULP enumerates two serial ports. Assume that the ports are COM9
and COM10
. One port is for the
serial console communication from Arm® Cortex®-A35 core and the second port is for Arm®
Cortex®-M33 core. The serial-to-USB drivers are available at FTD Chip Drivers.
Note: To determine the port number of the i.MX board virtual COM port, open the Windows device manager and find USB serial Port in Ports (COM and LPT).
Teraterm is an open source terminal emulation application. This program displays the information sent from the NXP development platform’s virtual serial port.
COM
port should automatically populate in the list115200
baud rate, 8
data bits, no parity and 1
stop bit. To configure the serial port, go to Setup → Serial Port and change the settings
The FTDI USB-serial chip on i.MX 8ULP enumerates two serial ports. Assume that the ports are COM9
and COM10
. One port is for the
serial console communication from Arm® Cortex®-A35 core and the second port is for Arm® Cortex®-M33 core. The serial-to-USB
drivers are available at FTD Chip Drivers.
Note: To determine the port number of the i.MX board virtual COM port, open the Windows device manager and find USB serial Port in Ports (COM and LPT)
PuTTY is a terminal-emulation application. This program displays the information sent from the NXP development platform’s virtual serial port.
COM
port number that you determined
earlier. Also enter the baud rate, in this case 115200
COM
port, the terminal
window opens. If the configuration is not correct, PuTTY alerts you
Get Familiar with the Board
Boot from eMMC
Connect USB Debug Cable
Connect the HDMI Cable
Boot Switch Setup
Connect Power Supply
Congratulations Linux Has Booted
NXP Demo Experience
Demo Launcher
Text User Interface (TUI)