Professional Documents
Culture Documents
S32G2 Boot Process
S32G2 Boot Process
Contents
1 Introduction 1 Introduction......................................1
S32G family is a high-performance vehicle network processor, combining 2 Key terms used in the document.....1
3 First Boot......................................... 2
CAN/LIN/FlexRay networking with high data rate Ethernet networking.
3.1 Bring up considerations............... 3
The target applications for S32G are: 4 Boot prerequisites........................... 3
4.1 Power up......................................3
• Central gateways and domain controllers connecting various networks 4.2 BMODE configuration.................. 3
and translating their protocols 4.3 RCON configuration.....................4
• Firmware Over-The-Air (FOTA) masters controlling secure software 4.4 FUSE configuration......................4
4.5 Setting up the external memory for
image downloads and their distribution to the ECUs in the network
Boot..............................................5
• Secure key management 5 BootROM.........................................8
5.1 BootROM clock configuration...... 9
• Smart antennas
5.2 Image authentication and
• High-performance central compute nodes decryption during secure boot..... 9
5.3 BootROM Fail Safe.................... 10
5.4 BootROM at STANDBY Exit...... 10
2 Key terms used in the document 6 Boot From external NVM...............10
6.1 Required hardware configuration
Boot Core – HSE_M7, the only CPU available when the hardware reset ................................................... 10
sequence completes 6.2 QSPI boot.................................. 11
BootROM – Firmware available in HSE ROM area that is executed by HSE_M7 6.3 SD/MMC Boot............................ 11
7 Serial Boot.....................................12
after reset.
8 Frequently Asked Questions (FAQ)
Non Secure boot – BootROM passes control to the user application residing ...................................................... 13
outside HSE subsystem. 9 References.................................... 13
10 Revision history............................. 14
Secure boot – BootROM passes control to the HSE firmware running on
HSE_M7. BOOT_SEQ bit in the IVT Boot configuration word defines if Secure boot is to be enabled.
Boot mode pins (BMODE1 and BMODE2) – These pins are available to be configured by user to select the desired boot mode.
These are the first user inputs read by BootROM.
Serial boot - This boot mode allows application code to be downloaded to SRAM using LIN or CAN.
RCON - Boot configurations defined outside of the chip. RCON can be parallel (using 32 dedicated IOs) or serial (using I2C
based EEPROM).
External Flash – Non Volatile memory connected on QSPI, SD or MMC interface.
IVT (Image Vector Table) - The Image Vector Table (IVT) is the first image that the BootROM reads from the boot device. The
IVT contains the required data components like image entry point, pointer to Device Configuration Data (DCD) and other pointers
used by the BootROM during the boot process. The location of the IVT is the only fixed requirement by BootROM.
® ®
CM7_0 and A53_0 – Application cores that can be enabled by the BootROM. Either of CM7_0 or A53_0 are selected based on
BOOT_TARGET configuration in IVT Boot Configuration Word.
COMPANY PUBLIC
NXP Semiconductors
First Boot
3 First Boot
For a virgin device, the device can be forced to enter Serial boot mode using BMODE pins. In case boot from an external flash is
selected using BMODE and no image is present in the external flash, the device enters into serial boot mode after eight resets.
Refer to Serial Boot for further details.
Key steps for booting up the device:
1. Ensure power supply on the board
2. Ensure correct BMODE settings
3. Lauterbach (LTB) and T32 support for S32G2
Steps to load an application and execute directly from SRAM using LTB
1. Example T32 Script to attach to S32G2 CM7_0 is provided with the T32 patch for S32G2
2. Custom application, use data.load.elf <File_name.elf> from the LTB window
In this case BootROM is still polling the serial interfaces for a valid image through serial boot. BootROM may interfere with
application UART/CAN transmission.
Steps if Serial boot is required:
1. Application binary to download
2. Tool to transfer binary on Serial (UART/CAN) port.
3. Hardware bus connection for the serial interface to target board
Steps if required to boot from QSPI:
1. Prepare binary image using S32DS IVT configurator
2. Use S32DS flash tool to program the QSPI flash. The tool is available with S32DS installation at directory -
<installation_directory> \S32DS.3.4\S32DS\tools\S32FlashTool\GUI\s32ft.exe
3. Select the target, Algorithm as QSPI flash component on hardware and COM port as per individual machine
configuration
4. Follow the instructions available with S32DS flash tool (S32_Flash_Tool_User_Guide.pdf in the S32DS installation
directory) for further steps
5. Configure RCON as per application requirement, example recommendation in attached Boot Config Word setting
6. Configure BMODE to ‘10 - Boot from external memory using RCON configurations’ (See Table 2 below for further
details)
7. The device will boot from QSPI after the next reset
Steps if required to boot from SD/MMC:
1. Prepare binary image using S32DS IVT configurator
2. Use S32DS flash tool to program the SD/MMC. The tool is available with S32DS installation at directory
<installation_directory> \S32DS.3.4\S32DS\tools\S32FlashTool\GUI\s32ft.exe
3. Select the target, Algorithm as SD/MMC component on hardware and COM port as per individual machine configuration
4. Follow the instructions available with S32DS flash tool for further steps
5. Alternatively, a utility application like Win32DiskImager can also be used to format and write raw binary into the SD
card. Plug in the SD card into the target board
6. Configure BMODE to ‘10 - Boot from external memory using RCON configurations’ (See Table 2 below for further
details)
7. Configure RCON as per recommendation in Boot Config Word setting
8. The device will boot from SD/MMC after the next reset
4 Boot prerequisites
4.1 Power up
The user must ensure that all power supplies required for operation of S32G2 are up in the sequence as mentioned in the S32G2
datasheet. Also, the supply limits for all power pins mentioned in the device datasheet must be respected at all times.
X 1 1 Reserved
NOTE
XOSC in differential bypass mode is not a supported configuration in S32G2 devices. Refer to FXOSC chapter in
S32G2 Reference Manual for further details.
The fuse map table shows three BOOT_CFG_LOCK fuses. BootROM uses these three fuses to configure it’s operations. RCON
settings must be seen as a development time substitute for BOOT_CFG1 fuse only. The configuration of RCON pads on the
hardware should also be done in accordance with the bit field description of BOOT_CFG1 fuse.
Bits 7-5 in the BOOT_CFG1 are the external memory selector pins.
The rest of the bits in the three boot configuration fuses are used for configuration of external memory interface or configuration
of serial boot supporting peripherals. BOOT_CFG2 and BOOT_CFG3 fuse words can only be set by fuse programming.
0x08 4 Self-Test DCD pointer Pointer to the start of the configuration data used for BIST
0x0C 4 Self-Test DCD Backup pointer Pointer to the start of the backup configuration data used
for BIST
0x14 4 DCD Backup pointer Pointer to the start of backup DCD configuration data
0x18 4 HSE FW Flash Start pointer Pointer to the start of the HSE_H firmware in flash memory
0x1C 4 HSE FW Backup Flash Start pointer Pointer to the start of the backup HSE_H firmware in
flash memory
0x20 4 Application Flash Start pointer Pointer to the start of the application code in flash memory
0x24 4 Application Backup Flash Pointer to the start of the backup application code in
Start pointer flash memory
0x28 4 Boot Configuration Word Configuration data used to select the boot configuration
0x2C 4 Life-Cycle Configuration Word Configuration data used for advancing Life-Cycle
NOTE
Ensure that the Life cycle configuration word at offset 0x2c is set to '0'.
The IVT image Header is a fixed value (0xD1010060 – shown here in Big Endian format) for S32G2 and is shown in the device
RM also.
The IVT Boot Configuration Word can be used to select:
1. The boot core - either M7_0 or A53_0 as the boot core (bits 0-1),
2. Enable/Disable boot target watchdog (bit2) (SWT0 can be only configured)
3. Secure boot mode - configures between the secure and non-secure boot mode (bit 3)
The IVT Life-cycle configuration word can be used to advance the lifecycle of the device to OEM_PROD (bit 0) or IN_FIELD (bit
1). Life cycle once advanced cannot be reverted back.
NOTE
Care must be taken that the values for both configuration word are set appropriately (either 0 or 1 as required). Not
writing to these words in IVT may be incorrectly interpreted as ‘1’ by the BootROM thereby implicating incorrect
settings. Some of these settings require fuse bits to be blown that may result in irrevocable changes to the
device settings.
BootROM supports concept of backup image for Self-test DCD, DCD, Application and HSE_FW. For each type of program image,
BootROM first tries to execute its primary image if IVT points to a valid location. Only 0x0 is considered an invalid location. If
primary image points to 0x0 or primary image header does not match with image required header or authentication fails, wherever
applicable, BootROM tries to execute backup image pointed by IVT.
Execution of Self-test is always followed by a reset. The recommended Self-test DCD is provided as a binary with Safety Software
Framework (SAF) release.
0x04 4 RAM Start pointer Pointer to the RAM location BootROM uses to copy the code.
0x08 4 RAM entry pointer Pointer to start of code execution. This pointer should be within the
section of SRAM where the application image is downloaded.
0x10 48 Reserved
0x40 Code_length Code Code can be any size up to the max size of System SRAM.
5 BootROM
BootROM is the first software that runs on S32G2 after any reset. It is placed in an internal ROM (accessible only to HSE_M7) and
is executed by HSE_M7. After the execution of the BootROM, the control is passed either to HSE FW (in case of secure boot) or
to customer application (in case of non-secure boot).
BootROM relies on user inputs in the form of BMODE pins, RCON and Fuse configurations to decide and enable the appropriate
boot mode.
NOTE
The QuadSPI POR Delay value needs to be programmed as per external flash requirement. These are not
automatically applied at standby exit. HSE provides a service to enable the POR delay at next boot after standby
exit. Please refer to HSE manuals for further details.
NOTE
For application boot via the μSDHC interface, when BOOT_SEQ == 0, the BootROM uses 34008000h to 34079C00
for its internal operations. This address range should not be used by the application across boot cycles. BootROM
also uses 4 KB of SRAM memory starting at 343FF000h for ADMA descriptors in the case of μSDHC boot.
Application boot image should not overlap this location in case of μSDHC boot.
Speed Modes Max Data Transfer Rate Clock Speed Signal Voltage
BOOT_CFG1[19] controls selection of Default Speed or High Speed mode in case SD card is used over μSDHC interface.
Speed Modes Max Data Transfer Rate Clock Speed Bus Width
BOOT_CFG1[22:19] controls selection of Speed modes in case MMC/eMMC card is used over μSDHC interface.
7 Serial Boot
Serial Boot mode enables application code to be downloaded to SRAM through serial peripherals. The two primary use cases for
serial boot are:
• End-of-line flash memory and fuse programming
• Recovery of chips that fail to boot correctly (nonresponsive modules)
This feature can be disabled by blowing fuse DIS_SER_BOOT.
Serial Boot mode is entered via the BMODE input pins. The device also enters serial boot mode if the Functional reset counter
reaches a value >= 8. The functional reset may be result of any of the errors encountered during BootROM execution for e.g.,
software programming errors during development, flash memory failure, PCB failure during production, timeout due to failure of
hardware modules, authentication failure during secure boot, exceptions during BootROM execution, unavailability of a valid boot
image in the selected NVM and so on.
In Serial Boot mode, BootROM continuously polls for activity on any of the available interfaces:
• CAN
• LIN (UART)
In CUST_DEL life cycle, BootROM does not configure any watchdog when polling on serial interfaces. However for life cycles
OEM_PROD and IN_FIELD, HSE SWT is activated with a timeout of 60 seconds.
The application should also specially take care that once serial download is complete, BootROM enables the SWT_0 with its
default configuration. It is now the responsibility of the application to take care of servicing the watchdog.
Please refer to chip RM for further details.
9 References
S32G2 Hardware Design Guidelines (S32G2HDG)
S32G2 RM Rev 5
S32G-PROCEVB-S Schematic
Mask Set Errata for Mask 0P77B
10 Revision history
Table 11. Revision history
Legal information
Definitions Applications — Applications that are described herein for any of these
products are for illustrative purposes only. NXP Semiconductors makes no
Draft — A draft status on a document indicates that the content is still
representation or warranty that such applications will be suitable for the
under internal review and subject to formal approval, which may result
specified use without further testing or modification.
in modifications or additions. NXP Semiconductors does not give any
representations or warranties as to the accuracy or completeness of Customers are responsible for the design and operation of their applications
information included in a draft version of a document and shall have no and products using NXP Semiconductors products, and NXP Semiconductors
liability for the consequences of use of such information. accepts no liability for any assistance with applications or customer product
design. It is customer’s sole responsibility to determine whether the NXP
Semiconductors product is suitable and fit for the customer’s applications and
Disclaimers products planned, as well as for the planned application and use of customer’s
Limited warranty and liability — Information in this document is believed third party customer(s). Customers should provide appropriate design and
to be accurate and reliable. However, NXP Semiconductors does not give operating safeguards to minimize the risks associated with their applications
any representations or warranties, expressed or implied, as to the accuracy and products.
or completeness of such information and shall have no liability for the NXP Semiconductors does not accept any liability related to any default,
consequences of use of such information. NXP Semiconductors takes no damage, costs or problem which is based on any weakness or default in the
responsibility for the content in this document if provided by an information customer’s applications or products, or the application or use by customer’s
source outside of NXP Semiconductors. third party customer(s). Customer is responsible for doing all necessary testing
In no event shall NXP Semiconductors be liable for any indirect, incidental, for the customer’s applications and products using NXP Semiconductors
punitive, special or consequential damages (including - without limitation - products in order to avoid a default of the applications and the products or of the
lost profits, lost savings, business interruption, costs related to the removal or application or use by customer’s third party customer(s). NXP does not accept
replacement of any products or rework charges) whether or not such damages any liability in this respect.
are based on tort (including negligence), warranty, breach of contract or any
Terms and conditions of commercial sale — NXP Semiconductors products
other legal theory.
are sold subject to the general terms and conditions of commercial sale,
Notwithstanding any damages that customer might incur for any reason
as published at http://www.nxp.com/profile/terms, unless otherwise agreed
whatsoever, NXP Semiconductors’ aggregate and cumulative liability towards
in a valid written individual agreement. In case an individual agreement
customer for the products described herein shall be limited in accordance with
is concluded only the terms and conditions of the respective agreement
the Terms and conditions of commercial sale of NXP Semiconductors.
shall apply. NXP Semiconductors hereby expressly objects to applying the
customer’s general terms and conditions with regard to the purchase of NXP
Right to make changes — NXP Semiconductors reserves the right to make
Semiconductors products by customer.
changes to information published in this document, including without limitation
specifications and product descriptions, at any time and without notice. This
Suitability for use in automotive applications — This NXP product has been
document supersedes and replaces all information supplied prior to the
qualified for use in automotive applications. If this product is used by customer
publication hereof.
in the development of, or for incorporation into, products or services (a)
used in safety critical applications or (b) in which failure could lead to death,
personal injury, or severe physical or environmental damage (such products
and services hereinafter referred to as “Critical Applications”), then customer
makes the ultimate design decisions regarding its products and is solely
responsible for compliance with all legal, regulatory, safety, and security
related requirements concerning its products, regardless of any information
or support that may be provided by NXP. As such, customer assumes all risk
related to use of any products in Critical Applications and NXP and its suppliers
shall not be liable for any such use by customer. Accordingly, customer will
indemnify and hold NXP harmless from any claims, liabilities, damages and
associated costs and expenses (including attorneys’ fees) that NXP may incur
related to customer’s incorporation of any product in a Critical Application.
Export control — This document as well as the item(s) described herein may be
subject to export control regulations. Export might require a prior authorization
from competent authorities.
NXP Semiconductors
Legal information
Translations — A non-English (translated) version of a document is for Freescale — is a trademark of NXP B.V.
reference only. The English version shall prevail in case of any discrepancy
GreenChip — is a trademark of NXP B.V.
between the translated and English versions.
HITAG — is a trademark of NXP B.V.
Security — Customer understands that all NXP products may be subject to
ICODE and I-CODE — are trademarks of NXP B.V.
unidentified vulnerabilities or may support established security standards or
Immersiv3D — is a trademark of NXP B.V.
specifications with known limitations. Customer is responsible for the design
and operation of its applications and products throughout their lifecycles I2C-bus — logo is a trademark of NXP B.V.
to reduce the effect of these vulnerabilities on customer’s applications
JCOP — is a trademark of NXP B.V.
and products. Customer’s responsibility also extends to other open and/or
Kinetis — is a trademark of NXP B.V.
proprietary technologies supported by NXP products for use in customer’s
applications. NXP accepts no liability for any vulnerability. Customer should Layerscape — is a trademark of NXP B.V.
regularly check security updates from NXP and follow up appropriately.
MagniV — is a trademark of NXP B.V.
Customer shall select products with security features that best meet rules,
Mantis — is a trademark of NXP B.V.
regulations, and standards of the intended application and make the
ultimate design decisions regarding its products and is solely responsible MCCI — is a trademark of NXP B.V.
for compliance with all legal, regulatory, and security related requirements MIFARE — is a trademark of NXP B.V.
concerning its products, regardless of any information or support that may be
MIFARE Classic — is a trademark of NXP B.V.
provided by NXP.
MIFARE FleX — is a trademark of NXP B.V.
NXP has a Product Security Incident Response Team (PSIRT) (reachable
at PSIRT@nxp.com) that manages the investigation, reporting, and solution MIFARE4Mobile — is a trademark of NXP B.V.
release to security vulnerabilities of NXP products. MIFARE Plus — is a trademark of NXP B.V.
Notice: All referenced brands, product names, service names, and MOBILEGT — is a trademark of NXP B.V.
trademarks are the property of their respective owners.
NTAG — is a trademark of NXP B.V.
NXP — wordmark and logo are trademarks of NXP B.V.
NXP SECURE CONNECTIONS FOR A SMARTER WORLD — is a trademark
AMBA, Arm, Arm7, Arm7TDMI, Arm9, Arm11, Artisan, big.LITTLE, Cordio, of NXP B.V.
CoreLink, CoreSight, Cortex, DesignStart, DynamIQ, Jazelle, Keil, Mali,
PEG — is a trademark of NXP B.V.
Mbed, Mbed Enabled, NEON, POP, RealView, SecurCore, Socrates, Thumb,
TrustZone, ULINK, ULINK2, ULINK-ME, ULINK-PLUS, ULINKpro, μVision, Plus X — is a trademark of NXP B.V.
Versatile — are trademarks or registered trademarks of Arm Limited (or its POR — is a trademark of NXP B.V.
subsidiaries) in the US and/or elsewhere. The related technology may be
PowerQUICC — is a trademark of NXP B.V.
protected by any or all of patents, copyrights, designs and trade secrets. All
rights reserved. Processor Expert — is a trademark of NXP B.V.
CodeWarrior — is a trademark of NXP B.V. RoadLink — wordmark and logo are trademarks of NXP B.V.
EdgeScale — is a trademark of NXP B.V. Synopsys & Designware — are registered trademarks of Synopsys, Inc.
EdgeVerse — is a trademark of NXP B.V. Synopsys — Portions Copyright © 2021 Synopsys, Inc. Used with permission.
All rights reserved.
elQ — is a trademark of NXP B.V.
Tower — is a trademark of NXP B.V.
Embrace — is a trademark of NXP B.V.
NXP Semiconductors
Legal information