The following section describes the steps to boot the i.MX 7ULP EVK.
Development kit contains:
Figure 1. i.MX 7ULP EVK front view with the SOM installed
Figure 2. i.MX 7ULP EVK back view with the SOM installed
The kit includes an SD card with a pre-built NXP Linux binary demo image. Without modifying the binary inside the SD card, booting from this SD card provides a default system with certain features for building other applications on top of Linux. The software is described in the following sections.
Connect the micro-B end of the supplied USB cable into Debug UART port J6
. 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:
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®-A7 core and the bigger number is for Arm® Cortex®-M4 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
Figure 3. Minicom Configuration
The FTDI USB-serial chip on i.MX 7ULP enumerates two serial ports. Assume that the ports are
COM9
and COM10
. One port is for the serial console communication from Arm® Cortex®-A7 core and the
second port is for Arm® Cortex®-M4 core. The serial-to-USB drivers are available athttp://www.ftdichip.com/Drivers/VCP.htm.
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)
Is an open source terminal emulation application. This program displays the information sent from the NXP development platform’s virtual serial port.
COM
port number identified earlier) to 115200
baud rate, 8
data bits, no parity and 1
stop bit. To do this, go to Setup
→ Serial Port and change the settings.The FTDI USB-serial chip on i.MX 7ULP enumerates two serial ports. Assume that the ports are
COM9
and COM10
. One port is for the serial console communication from Arm® Cortex®-A7 core and the
second port is for Arm® Cortex®-M4 core. The serial-to-USB drivers are available at http://www.ftdichip.com/Drivers/VCP.htm.
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 popular 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.To see the user interface provided with the image binary connect a monitor via the HDMI
connector on the baseboard(J4)
.
Click here to see the Boot Switch Setup
Connect the power supply cable to the power connector on the baseboard (P1)
Power the board by flipping the switch (SW1)
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 on the serial console for the Cortex®-A7. If you do not stop the U-Boot process, it continues to boot the kernel.
Once Linux is booted, login using the user name root
and no password.
TIP: 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
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 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.
The latest pre-built images for the i.MX 7ULP EVK is 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, 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.
In addition to the connections from Out of box chapter, connect the USB Type-C cable (SOM J2)
to the host machine.
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 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. An extensive tutorial for UUU can be found in https://github.com/NXPmicro/mfgtools/wiki.
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 directory to the location where uuu and the latest Linux
distribution for i.MX 7ULP EVK is located. Add execution permission to the UUU
file and execute it.
UUU
waits for the USB device to connect
$ chmod a+x uuu
$ sudo ./uuu <kernel_version>_images_<SOC>.zip
Turn on the board, 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.
Download the latest stable files from UUU GitHub page. An extensive tutorial for UUU can be found in https://github.com/NXPmicro/mfgtools/wiki.
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 7ULP EVK is located.
uuu.exe <kernel_version>_images_<SOC>.zip
Turn on the board, 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.
When working with embedded systems, it is important to bear in mind that the documentation is wide and diverse. It is common to have different levels of documentation. The i.MX 7ULP EVK board has some documents. However, this board’s processor is i.MX 7ULP which is documented with SoC level documents. The BSPs available are documented with the BSP level documents.
Choose an option below for related documents:
In the case of i.MX 7ULP EVK the following documents are available.
Table 2. List of i.MX 7ULP EVK board-related documents
Document | Description |
Board Schematics | The i.MX 7ULP EVK electric schematic files. |
In the case of i.MX 7ULP SoC the following documents are available.
Table 3. List of i.MX 7ULP chip-related documents
Document | Description |
i.MX 7ULP DataSheet | Describes the SoC physical and electrical characteristics, the part number meaning. |
i.MX 7ULP Reference Manual | Lists what the SoC supports, the registers and the memory map. Describes the features, workflow, the boot flow, and the meaning of each register’s bits. |
i.MX 7ULP ERRATA | List the hardware issues for that SoC. It may be an Arm core or an i.MX core issue. It may or may not have a workaround. |
For i.MX 7ULP EVK the following BSPs are available.
Each BSP has a set of documents, in the next tables all the BSP documentation is described. The order the documents appear in the table is the recommended read order.
Table 4. i.MX 7ULP EVK BSP Linux documents
Document | Description |
Linux Doc Bundle | Downloads all the i.MX Linux BSP files listed here as one tarball. |
i.MX Linux Release Notes | If you do not know where to start, start here! It lists the supported boards, the supported features, the packages versions, and the issue list. |
i.MX Linux Users Guide | Describes the steps to download, build and deploy the i.MX Linux BSP. For example, detail on how to configure, build and deploy U-Boot booting from different media. |
i.MX Yocto Project Users Guide Linux | Describes the steps to download, build, deploy and configure the Yocto Project metadata, and build an image. |
i.MX BSP Porting Guide Linux | Describes the steps to port the i.MX Linux BSP to a custom board or platform. |
i.MX Reference Manual Linux | Describes the i.MX BSP Linux Kernel drivers, features, and how to configure the kernel. It also describes how drivers work. |
i.MX Graphics Users Guide Linux | Describes how to test and configure the GPU for custom use cases. |
Table 5. i.MX 7ULP EVK BSP Android documents
Document | Description |
Android Doc Bundle | Downloads all the i.MX Android BSP files listed here as one tarball. |
Android Release Notes | If you do not know where to start, start here! It lists the supported boards, the supported features, the packages version, and the known issue list. |
Android Quick Start Guide | Describes the board, the files in the i.MX Android BSP, how to deploy and foot the images using different displays. |
Android Users Guide | It is the document with instructions on how to set a Linux machine to build Android, how to build, configure, and, deploy the i.MX Android BSP. |
i.MX BSP Porting Guide Android | Describes the steps to port the i.MX Android BSP to a custom board or platform; including steps to configure multimedia and display. |
i.MX Graphics Users Guide Android | Describes how to test and configure the GPU for custom use cases. |
Android Frequently Asked Questions | Lists frequently asked a question related to Android. |
The boot sequence is detailed in the i.MX 7ULP 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 location for i.MX 7ULP EVK (indicated by the red box)
The following table lists the boot switch settings on the i.MX 7ULP EVK board. The same information can be found on i.MX 7ULP Reference Manual and on silkscreen on the board near the switches.
Table 1. Boot modes available for i.MX 7ULP EVK
Boot Media | SW1 [D1-D4] |
---|---|
SD card | 1001 |
eMMC | 1000 |
SDP | 01XX |
Note: Make sure the boot switch is configured to boot from SD card.