Difference between revisions of "Boot process and bootstrap configuration (AXEL ULite)"

From DAVE Developer's Wiki
Jump to: navigation, search
Line 1: Line 1:
 
==Introduction==
 
==Introduction==
NXP iMX6UL processor implements a very flexible boot process. This versatility comes at the price of a non trivial bootstrap configuration scheme. Typical system-on-module (SOM for short) adopter does not want/need to deal with such complexity. In other words he/she expects to manage few - virtually none! - boot configuration issues because it is assumed they are handled by the SOM itself. Nevertheless, there are specific applications where the system integrator needs full control of all the bootstrap configuration options, even if the design is built upon a SOM.
+
NXP iMX6UL processor implements a very flexible boot process. This versatility comes at the price of a non trivial bootstrap configuration scheme. Typical system-on-module (SOM for short) adopter does not want/need to deal with such complexity. In other words he/she expects to manage few boot configuration issues because it is assumed they are handled by the SOM itself. Nevertheless, there are specific applications where the system integrator needs full control of all the bootstrap configuration options, even if the design is built upon a SOM.
  
These two needs - ease of use and configurability - clearly push in opposite directions. During the conception of the product AXELULite, specific attention has been addressed to find a viable trade off to satisfy such requirements. This effort has led to the options that are detailed in the section [[#Options for AXELULite users]]. Before skipping to it, it is recommended to read the following section that depicts an overview of the processor's boot process. For more details about  
+
These two needs - ease of use and configurability - clearly push in opposite directions. During the conception of the product AXELULite, specific attention has been addressed to find a viable trade off to satisfy such requirements. This effort has led to the options that are detailed in the section [[#Options for AXELULite users]]. Before skipping to it, it is recommended to read the following section that depicts an overview of the processor's boot process. For more details about it please refer to <ref name="IMX6ULRM">NXP i.MX 6UltraLite Applications Processor Reference Manual</ref>
  
 
==Overview of NXP iMX6UL bootstrap process==
 
==Overview of NXP iMX6UL bootstrap process==
Line 9: Line 9:
 
*eFUSE bits
 
*eFUSE bits
 
*GPIO settings.
 
*GPIO settings.
Generally speaking, thre
+
Generally speaking, three main boot modes are supported. These modes are selected by BOOT_MODE signals that are latched when processor comes out of reset.
 +
{|class="wikitable" style="text-align: center;"
 +
|-
 +
!BOOT_MODE[1:0]
 +
!Boot type
 +
| 00||Boot from eFUSEs
 +
| 01||Serial downloader
 +
| 10||Internal boot
 +
| 11||reserved
 +
|}
 +
It is worth remebering that, no matter what modes is selected, when processor reset is released, internal Boot ROM is executed. Its behavior depends on selected mode as described in the following sections.
 +
===Boot from eFUSEs===
 +
The term eFUSEs refer to an one-time-programmable (OTP) memory integrated in iMX6UL processor. This memory is organized in several 32-bit words. Three of these words - named BOOT_CFG - are used to store configuration bits that affect boot process, when ''Boot from eFUSEs'' mode is selected. In this case, Boot ROM reads BOOT_CFG words and acts consequently.
 +
 
 +
===Serial downloader===
 +
 
 +
===Internal boot===
 +
 
 +
===Typical scenario===
 +
 
  
  
 
==Options for AXELULite users==
 
==Options for AXELULite users==
 +
 +
==References==
 +
{{reflist}}

Revision as of 16:08, 7 June 2016

Introduction[edit | edit source]

NXP iMX6UL processor implements a very flexible boot process. This versatility comes at the price of a non trivial bootstrap configuration scheme. Typical system-on-module (SOM for short) adopter does not want/need to deal with such complexity. In other words he/she expects to manage few boot configuration issues because it is assumed they are handled by the SOM itself. Nevertheless, there are specific applications where the system integrator needs full control of all the bootstrap configuration options, even if the design is built upon a SOM.

These two needs - ease of use and configurability - clearly push in opposite directions. During the conception of the product AXELULite, specific attention has been addressed to find a viable trade off to satisfy such requirements. This effort has led to the options that are detailed in the section #Options for AXELULite users. Before skipping to it, it is recommended to read the following section that depicts an overview of the processor's boot process. For more details about it please refer to [1]

Overview of NXP iMX6UL bootstrap process[edit | edit source]

When it comes to boot process, three factors play a major role:

  • BOOT_MODE signals (BOOT_MODE1, BOOT_MODE0)
  • eFUSE bits
  • GPIO settings.

Generally speaking, three main boot modes are supported. These modes are selected by BOOT_MODE signals that are latched when processor comes out of reset.

BOOT_MODE[1:0] Boot type 00 Boot from eFUSEs 01 Serial downloader 10 Internal boot 11 reserved

It is worth remebering that, no matter what modes is selected, when processor reset is released, internal Boot ROM is executed. Its behavior depends on selected mode as described in the following sections.

Boot from eFUSEs[edit | edit source]

The term eFUSEs refer to an one-time-programmable (OTP) memory integrated in iMX6UL processor. This memory is organized in several 32-bit words. Three of these words - named BOOT_CFG - are used to store configuration bits that affect boot process, when Boot from eFUSEs mode is selected. In this case, Boot ROM reads BOOT_CFG words and acts consequently.

Serial downloader[edit | edit source]

Internal boot[edit | edit source]

Typical scenario[edit | edit source]

Options for AXELULite users[edit | edit source]

References[edit | edit source]

  1. NXP i.MX 6UltraLite Applications Processor Reference Manual