Difference between revisions of "IMX8/Nitrogen8M/Getting Started/Selecting Boot Options"

From RidgeRun Developer Connection
Jump to: navigation, search
(Other Boot Options)
m
 
(26 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<noinclude>{{IMX8/Head}}</noinclude>
+
<noinclude>{{IMX8/Head|previous=Nitrogen8M/Getting Started|next=Nitrogen8M/Getting Started/System Setup|metakeywords=carrier,carrier board,base board,SOM,System on Module,Boundary Devices,Nitrogen8M,configure,configure host machine,boot configuration,emmc boot,usb boot,advanced boot}}</noinclude>
  
==Physical Setup==
+
__TOC__
The i.MX8M Evaluation Kit provides two switches in order to set the boot configurations according to your needs. You can see both switches on the following picture: 
 
[[File:switchesevk.png|300px|center|Boot switches on the i.MX8M EVK]]
 
Where the one surrounded by a red square is the '''SW801''' switch and the one surrounded by a yellow square is the '''SW802''' switch.
 
*'''SW801:''' This switch allows to configure the boot mode by selecting one of the following options:
 
**Boot from EMMC.
 
**Boot from SD2.
 
  
*'''SW802:''' This switch allows to configure the boot source by selecting one of the following options:
+
==Boot Loading Options==
**Boot From Fuses.
+
The Nitrogen8M provides a switch in order to set the boot configurations according to your needs.  
**Serial Downloader.
 
**Internal Boot (Development).
 
**Reserved.
 
  
The i.MX8M Applications Processor can be the boot configuration selected on '''SW802''' or by the boot configuration stored on internal eFUSE. Alternatively, the i.MX8M can download a program image from a USB connection when configured in serial downloader mode. The method used to determine where the processor finds its boot information is from two dedicated BOOT MODE pins.
+
This switch allows configuring the boot source by selecting one of the following options:
 +
*Serial Downloader: The Nitrogen8M downloads a program image from a USB connection.
 +
*Internal Boot: The boot mode is selected according to U-Boot, and the variable '''boot_targets''' controls the boot device (EMMC or SDCARD).
  
In the following table you can see how to configure each mode on '''SW802''':
+
In the following table, you can see how to configure each boot mode.
  
 
{| class="wikitable" style="margin-right: auto; margin-left: auto; border: none;"
 
{| class="wikitable" style="margin-right: auto; margin-left: auto; border: none;"
 
|-
 
|-
! style="background: black; color: white;" | Boot Source!! style="background: black; color: white;" | BOOT_MODE1 !! style="background: black; color: white;" | BOOT_MODE0
+
! style="background: black; color: white;" | Boot Source!! style="background: black; color: white;" | PIN
|-
 
! scope="row" | Boot from fuses
 
| style="text-align: center" | 0 || style="text-align: center" | 0
 
 
|-
 
|-
 
! scope="row" | Serial Downloader
 
! scope="row" | Serial Downloader
| style="text-align: center" | 0 || style="text-align: center" | 1
+
| style="text-align: center" | ON  
 
|-
 
|-
 
! scope="row" | Internal Boot
 
! scope="row" | Internal Boot
| style="text-align: center" | 1 || style="text-align: center" | 0
+
| style="text-align: center" | OFF
|-
 
! scope="row" | Reserved
 
| style="text-align: center" | 1 || style="text-align: center" | 1
 
 
|}
 
|}
  
The two pins are tied to the BOOT modules. It is recommended to use the dual-switch ('''SW802''') to select the input voltage of these two
+
The bootable source code is selected from the switch and U-Boot, the complete information is presented in the following table:
pins, 0 or 3.3 V. If the developer wants to boot the program Image from the Fuses Mode, the position of the switch 1 and 2 must be set to OFF, it is the same principle to choose the Serial Downloader Module or Internal Boot Module to load bootable code into the processor.
 
 
 
If the method of determining the bootable source code is selected to be from the hardware, then the developer must set the switch '''SW802:''' MODE0 to OFF, MODE1 to ON, and the four i.MX8M pins of the '''SW801''' must be set on the EVK board by considering the information present in the following table:
 
  
 
{| class="wikitable" style="margin-right: auto; margin-left: auto; border: none;"
 
{| class="wikitable" style="margin-right: auto; margin-left: auto; border: none;"
 
|-
 
|-
! style="background: black; color: white;" | BOOT Configuration!! style="background: black; color: white;" | SW801
+
! style="background: black; color: white;" | BOOT Source!! style="background: black; color: white;" | PIN !! style="background: black; color: white;" | boot_targets
 +
|-
 +
! scope="row" | Serial Downloader
 +
| style="text-align: center" | ON || style="text-align: center" | ---
 
|-
 
|-
 
! scope="row" | Boot from EMMC
 
! scope="row" | Boot from EMMC
| style="text-align: center" | 0010
+
| style="text-align: center" | OFF || style="text-align: center" | mmc0
 
|-
 
|-
! scope="row" | Boot from SD2
+
! scope="row" | Boot from USB
| style="text-align: center" | 1100
+
| style="text-align: center" | OFF || style="text-align: center" | usb0
 
|}
 
|}
  
This is how the physical switch '''SW801''' should be set in order to boot from EMMC:
+
==BOOT Switch Configuration for EMMC and USB==
 +
This is how the physical switch should be set in order to boot from EMMC or USB:
  
[[File:switchemmc.png|200px|center|Configuration to boot from the EMMC]]
+
[[File:Nitrogen8m_boot_sw.png|400px|center|Boot switch on Nitrogen8M]]
  
And this is how the physical switch '''SW801''' should be set to boot from SD2:
+
==EMMC==
  
[[File:switchsd.png|200px|center|Boot switches on the i.MX8M EVK]]
+
The EMMC device is the default boot device chosen by U-Boot, this memory is preloaded with Android 8.1.
  
=Other Boot Options=
+
Just in case, follow the instructions to set the EMMC as a boot device.
  
The board is able to boot from more than one way, below you will see how to configure the boot device to boot from a USB device.
+
Instructions to set up the EMMC Boot from U-Boot:
 +
* Connect the Nitrogen8M to a host machine with the Serial Console Cable.
 +
* Start any serial console (i.e minicom or term).
 +
* Power on the board, the console will display the U-boot start-up screen.
 +
* Press any key on your keyboard to stop the boot sequence, this will display the U-Boot console.
 +
* Change the Boot Device with the following command:
 +
<pre>
 +
setenv boot_targets mmc0
 +
</pre>
 +
* If you do not want to repeat this process, you can save the selected Boot Device with this command:
 +
<pre>
 +
saveenv
 +
</pre>
 +
* Continue the Boot sequence by typing the next command:
 +
<pre>
 +
boot
 +
</pre>
 +
 
 +
After the previous instructions, the board will boot from the EMMC memory.
  
 
== USB Boot ==
 
== USB Boot ==
This Boot option requires a Bootable USB stick and a Serial Console Cable, refer to iMX8 Software Support section to download a prebuilt image or create your own image with the instructions provided in the Custom Image section.
 
  
Instructions to setting up the USB Boot:
+
This Boot option also requires a Bootable USB stick and a Serial Console Cable.
* Connect the Nitrogen8m to a host machine with the Serial Console Cable.
+
 
* Start any serial console (i.e minicom or term)
+
Instructions to set up the USB Boot from U-Boot:
 +
* Connect the Nitrogen8M to a host machine with the Serial Console Cable.
 +
* Start any serial console (i.e minicom or term).
 
* Power on the board, the console will display the U-boot start-up screen.  
 
* Power on the board, the console will display the U-boot start-up screen.  
 
* Press any key on your keyboard to stop the boot sequence, this will display the U-Boot console.
 
* Press any key on your keyboard to stop the boot sequence, this will display the U-Boot console.
Line 76: Line 83:
 
setenv boot_targets usb0
 
setenv boot_targets usb0
 
</pre>
 
</pre>
* If you do not want to repeat this commands, you can save the selected Boot Device with this command:
+
* If you do not want to repeat this process, you can save the selected Boot Device with this command:
 
<pre>
 
<pre>
 
saveenv
 
saveenv
Line 85: Line 92:
 
</pre>
 
</pre>
  
After the previous instructions, the board will boot from the USB stick
+
After the previous instructions, the board will boot from the USB stick.
  
 +
==Advanced Boot Options==
 +
You can load the kernel and filesystem by using advanced methods. Please refer the [[IMX8/Nitrogen8M/Getting_Started/Advanced_Boot_Options | Advanced Boot Options]] page for more information.
  
<noinclude>{{IMX8/Foot|<Replace with "previous" page>|<Replace with "next" page>}}</noinclude>
+
<noinclude>{{IMX8/Foot|Nitrogen8M/Getting Started|Nitrogen8M/Getting Started/System Setup}}</noinclude>

Latest revision as of 12:13, 9 March 2023


NXP Partner Program Registered Vertical.jpg NXP Partner Program Horizontal.jpg
Previous: Nitrogen8M/Getting Started Index Next: Nitrogen8M/Getting Started/System Setup





Boot Loading Options

The Nitrogen8M provides a switch in order to set the boot configurations according to your needs.

This switch allows configuring the boot source by selecting one of the following options:

  • Serial Downloader: The Nitrogen8M downloads a program image from a USB connection.
  • Internal Boot: The boot mode is selected according to U-Boot, and the variable boot_targets controls the boot device (EMMC or SDCARD).

In the following table, you can see how to configure each boot mode.

Boot Source PIN
Serial Downloader ON
Internal Boot OFF

The bootable source code is selected from the switch and U-Boot, the complete information is presented in the following table:

BOOT Source PIN boot_targets
Serial Downloader ON ---
Boot from EMMC OFF mmc0
Boot from USB OFF usb0

BOOT Switch Configuration for EMMC and USB

This is how the physical switch should be set in order to boot from EMMC or USB:

Boot switch on Nitrogen8M

EMMC

The EMMC device is the default boot device chosen by U-Boot, this memory is preloaded with Android 8.1.

Just in case, follow the instructions to set the EMMC as a boot device.

Instructions to set up the EMMC Boot from U-Boot:

  • Connect the Nitrogen8M to a host machine with the Serial Console Cable.
  • Start any serial console (i.e minicom or term).
  • Power on the board, the console will display the U-boot start-up screen.
  • Press any key on your keyboard to stop the boot sequence, this will display the U-Boot console.
  • Change the Boot Device with the following command:
setenv boot_targets mmc0
  • If you do not want to repeat this process, you can save the selected Boot Device with this command:
saveenv
  • Continue the Boot sequence by typing the next command:
boot

After the previous instructions, the board will boot from the EMMC memory.

USB Boot

This Boot option also requires a Bootable USB stick and a Serial Console Cable.

Instructions to set up the USB Boot from U-Boot:

  • Connect the Nitrogen8M to a host machine with the Serial Console Cable.
  • Start any serial console (i.e minicom or term).
  • Power on the board, the console will display the U-boot start-up screen.
  • Press any key on your keyboard to stop the boot sequence, this will display the U-Boot console.
  • Change the Boot Device with the following command:
setenv boot_targets usb0
  • If you do not want to repeat this process, you can save the selected Boot Device with this command:
saveenv
  • Continue the Boot sequence by typing the next command:
boot

After the previous instructions, the board will boot from the USB stick.

Advanced Boot Options

You can load the kernel and filesystem by using advanced methods. Please refer the Advanced Boot Options page for more information.


Previous: Nitrogen8M/Getting Started Index Next: Nitrogen8M/Getting Started/System Setup