002-30102 AN230102 Failure Analysis Process in TRAVEO II Devices
002-30102 AN230102 Failure Analysis Process in TRAVEO II Devices
Intended audience
This document is intended for anyone who uses the TRAVEO™ II microcontrollers to configure a secured system
and to prepare and apply to a failure analysis process for any kind of claim.
Table of contents
About this document ....................................................................................................................... 1
Table of contents ............................................................................................................................ 1
1 Introduction .......................................................................................................................... 3
2 Overview of the standard FA flow............................................................................................. 4
2.1 Minimum information to be provided to Infineon ................................................................................. 5
2.2 Procedure at Infineon ............................................................................................................................. 5
2.3 Reporting ................................................................................................................................................. 6
2.3.1 Reporting tool .................................................................................................................................... 6
2.3.2 Reporting schedules .......................................................................................................................... 6
3 General information of TRAVEO™ II security concept .................................................................. 9
3.1 Lifecycle stages........................................................................................................................................ 9
3.1.1 “NORMAL_PROVISIONED” ............................................................................................................... 10
3.1.2 “SECURE”.......................................................................................................................................... 10
3.1.3 “SECURE_W_DEBUG”....................................................................................................................... 10
3.1.4 “RMA” ................................................................................................................................................ 10
3.1.5 CORRUPTED ..................................................................................................................................... 11
3.2 Authentication ....................................................................................................................................... 11
3.3 Access restrictions ................................................................................................................................. 12
3.3.1 Debug access port (DAP) configuration .......................................................................................... 12
3.3.2 Access restrictions to internal components.................................................................................... 13
3.3.2.1 Access restrictions to flash, eFuse, SRAM, and MMIO ................................................................ 14
3.3.2.2 Access to debug interface (DAP) ................................................................................................. 15
3.3.3 System call requirements ................................................................................................................ 15
3.4 Lifecycle stage transition to “RMA” ...................................................................................................... 16
3.5 Authenticated debugger techniques .................................................................................................... 17
4 Reuse a sample in the NTF process .......................................................................................... 19
4.1 Flash programming and application execution in the “RMA” lifecycle stage ..................................... 19
Application Note Please read the Important Notice and Warnings at the end of this document 002-30102 Rev. **
www.infineon.com page 1 of 38 2021-07-02
Failure analysis process in TRAVEO™ II devices
Table of contents
Introduction
1 Introduction
This application note describes how to properly handle devices which failed in the field at the end customer,
during production at the OEM as a ‘0km failure’, or during production at TIER1.
Infineon strives for getting a 0-ppm failure rate of its automotive products. To reach the highest standard of
automotive quality, each failing device must be analyzed systematically with various analysis techniques to
solve manufacturing defects, material imperfections, or design errors.
The ownership of all activities during the whole failure analysis (FA) procedure is associated with Infineon’s
quality division (QA) who is responsible for interacting with customers and internal departments such as
Product Engineering, Failure Analysis Engineering, and Product Design. Each case is managed in the “My Cases”
in the SFDC system where all interactions are collected and distributed to all collaborators attending to the
case. During the whole process, Infineon provides regular intermediate reports which include the latest results
of failure investigation, which in turn defines new steps along with respective schedules. A case will be closed
with a final 8D-report after the root cause was identified and correction actions are defined. If all standard tests
have passed, the claimed sample will be returned to the customer with the result as “No Trouble Found” (NTF).
TRAVEO™ II devices include an efficient and reliable security mechanism which supports state-of-the-art safety
and security standards for the automotive industry.
The protection state of a TRAVEO™ II device is determined by irreversible burning of eFuses. Apart from
different configuration parameters and hash values, nonvolatile lifecycle stages are also defined by eFuses.
These describe a protection status in which the device is running. A transition from one lifecycle stage to the
next is irreversible. The focus in this application note is on the transition to “RMA” lifecycle stage and what the
customer must consider to allow the standard FA flow and how the sample can be reused during the NTF
process.
This application note refers to AN228680 – “secure” system configuration in TRAVEO™ II family, which
provides detailed information on handling of security and debugging. Review this document carefully to
develop a secured system in your application which allows the device to be fully testable during the FA process.
0km Failure
Failure Analysis
Product Engineering
Engineering
Electrical Failure Analysis
Pre-analysis
Physical Analysis
OEM
Quality Quality
Quality
End Customer
Field Failure
TIER1
Production Failure
During the lifetime of a TRAVEO™ II product, the device can fail in various stages, in the production facilities, or
in the final product. Figure 1 shows the standard FA flow for how the customer can claim a defective device.
Basically, the TIER1 customer is the direct client of Infineon, and there is no different process depending on
where the device failed. For each analysis request, the device will follow a strict analysis procedure which ends
with a final 8D-report which summarizes the analysis results; if a defect was found it will explain the root cause
in detail. Table 1 summarizes the different failure stages along with the responsibilities to perform a proper FA
flow.
Table 1 Life stages where a TRAVEO™ II product can fail and how the FA flow is handled
Case Failure stage Description Actions Responsibility
1 TIER1 The TRAVEO™ II device Perform a swap test to identify if the failure TIER1
production failed during TIER1 moves with the microcontroller.
plant EOL test Perform initial failure analysis TIER1
(production Create a failure report TIER1
failure)
Define a clear and comprehensive failure TIER1
description
QA of TIER1 contacts regional quality TIER1 /
partner at Infineon to hand over all Infineon
required information (see section 2.1)
Infineon creates a new FA case in Infineon
salesforce.com
2.3 Reporting
1
Customer should have ideally transitioned the device to “RMA” lifecycle stage before sending to Infineon. See section 3.4.
2
OpenRMA command must to be performed after the lifecycle stage has been transitioned to “RMA”. See section 4.2.
Communication with the customer of the analysis findings and status will be provided on a regular time
schedule in the form of CRM external interactions or interim reports until the analysis and corrective actions are
completed. All communications will be sent to the customer using the CRM system.
• Cycle time begins at case creation
• Provide (as required) the shipping information to the Infineon analysis site as soon as possible
• 24 hours – Containment for IATF16949 CSR compliance only
• Notify the customer immediately of receipt of the customer's shipment at the Infineon analysis site
• 48 hours – Initial report
• 10 days – First interim report
• >10 days – The interval for sending a written response to the customer will not exceed 10 days.
These targets are general guidelines to help manage the analysis cycle time. The exact time at each stage will
vary on the complexity from case to case.
3
Corrective Action Request
In all cases, X-ray, CSAM, and DC analysis are possible as non-destructive analysis methods.
If the claimed MCU is provided in the “RMA” lifecycle stage, all tests can be executed on the ATE test machine. If
the transition to the “RMA” lifecycle stage is not possible, some investigations can be done if access to the
device and to the memories and IPs is granted.
The device is completely locked if the “RMA” lifecycle stage cannot be entered and no access to the device can
be granted via the debug interface.
NORMAL-
CORRUPTED
Blow Secure with PROVISIONED
Debug eFuse Blow Secure eFsue
SECURE_W_
SECURE
DEBUG
4
Electrical failure analysis
5
Analysis possible only on the evaluation board if access to the device and its IPs and memories is granted.
3.1.1 “NORMAL_PROVISIONED”
This is the lifecycle stage of a device after trimming and testing are complete in the factory. All configuration
and trimming information are complete. Valid flash boot code has been programmed in the SFlash. To allow
boot of devices only with the ensured integrity of trims, flash boot, and other objects from the factory, a hash
(SHA-256 truncated to 128 bits/SHAKE-128) of these objects is stored in eFuse. This hash is referred to as
FACTORY_HASH. Customers receive parts in this lifecycle stage from Infineon.
3.1.2 “SECURE”
This stage is the life cycle stage of a “secure” device. Prior to transitioning to this stage, the SECURE_HASH
must have been blown in eFuse and a valid application code must have been programmed in the code flash. In
this stage, the protection state is set to “SECURE” and “SECURE” access restrictions are deployed. A “SECURE”
device will boot only when the authentication of its flash boot and application code succeeds. The
SECURE_HASH is calculated and written to the eFuse by the SROM firmware when transitioning to the
“SECURE” or “SECURE_W_DEBUG” lifecycle stage from the “NORMAL_PROVISIONED” lifecycle stage.
Customers should not receive parts in this lifecycle stage from Infineon.
3.1.3 “SECURE_W_DEBUG”
This stage is the same as the “SECURE” lifecycle stage, except the device allows debugging. Before transitioning
to this stage, the SECURE_HASH must have been blown in eFuse and a valid application code must have been
programmed in the code flash. In this stage, the protection state is set to “SECURE”, but NORMAL access
restrictions are deployed to enable debugging. When there is an authentication failure during ROM boot or
flash boot, SWD/JTAG pins are enabled, the protection state is set to “SECURE” but NORMAL access restrictions
are deployed and is not transitioned to “DEAD” state. Transition from “SECURE_W_DEBUG” to “SECURE” is not
allowed. “SECURE_W_DEBUG” parts are used only by the developers and software testers. Customers should
not receive parts in this lifecycle stage from Infineon.
3.1.4 “RMA”
This stage allows performing FA. The customer transitions the part to the “RMA” lifecycle stage when FA by
Infineon is required on the part (see section 3.4 for details). Infineon recommends erasing all the sensitive data
in flashes before invoking the system call that transitions the part to “RMA”. Customers should not receive parts
in this lifecycle stage from Infineon.
Before invoking the system call to transition to “RMA”, the customer must create an offline certificate that
authorizes the transition of the part with a specific Unique ID to “RMA” lifecycle stage. The certificate will be
signed by the customer using the same private key that is used in signing the user application image. The
verification of the signature uses the same algorithm used by flash boot in authenticating the user application.
The same public key (injected by the OEM) stored in SFlash is used for the verification. See section 4.2 for more
information.
When a part is reset in the “RMA” lifecycle stage, the boot will set the access restrictions such that the DAP has
access only to the System AP, IPC, and MMIO registers for making system calls, and adequate RAM for
communication. It will then wait for the “OpenRMA” system call from the DAP along with the certificate of
authorization. The boot process will not initiate any firmware until it successfully executes the “Open-RMA”
command. After the command is successful, the lifecycle stage stored in eFuse cannot be changed from “RMA”.
Every time the part is reset, it must execute the “OpenRMA” command successfully before the part can be used.
To execute the "OpenRMA" command, the customer must provide the certificate signed by the customer using
their private key to Infineon. This certificate is different from the one used for transitioning the device to “RMA”
stage. If sending the device(s) to Infineon, the device(s) must be traceable to each individual OpenRMA
certificate.
Note that the "OpenRMA" system call is executed by Infineon during the pre-analysis process using the
provided certificate. In addition, it is used while performing the root cause analysis during the NTF flow.
3.1.5 CORRUPTED
The device is in this lifecycle stage if a read error is detected when reading the eFuse bits that determine the
lifecycle stage. The device will enter the DEAD protection state and only IPC MMIOs can be read via SYSTEM-AP.
No other accesses are allowed.
3.2 Authentication
TRAVEO™ II MCUs follow the chain of trust (CoT) concept. During the boot execution, different areas of the non-
volatile memory are validated to fulfill the highest standard of security. Code is executed only if the validation
process is passed. If a mismatch occurs, the device enters the DEAD protection state, remains in the boot code
and in an endless loop, and application code is not executed.
After RESET, the CM0+ core executes the boot sequence in the following order:
• ROM boot: Validation of SFlash is done by the HASH calculation and comparing to the FACTORY_HASH
(NORMAL and “SECURE" protection states) or SECURE_HASH (“SECURE” protection state). Both hash values
are stored in eFuses. In case of mismatch, the ROM boot code remains in an endless idle loop.
• Flash boot: Validation of the “secure” image. A signature is calculated by the RSA-2048 encrypting process
based on the public key and the code flash memory content (“secure” image code). This signature is
compared with the “secure” image digital signature which was defined in a separate flash area during the
design phase. If a mismatch occurs, the flash boot code remains in an endless idle loop. The flash area to be
authenticated is defined in TOC2.
Note: For RSA 2048, 3072, and 4096 support, see the device-specific datasheet (under the Part
Number/Ordering Code Nomenclature section, Hardware option).
Note: If authentication fails and device enters the DEAD protection state, the lifecycle stage cannot be
transitioned to “RMA”. Failure analysis will be restricted. Test mode cannot be entered, and
standard analysis cannot be done on ATE test machine.
One way to solve this issue is to have a second application software whose only job is to allow the transition to
the “RMA” lifecycle stage. The start address is defined in TOC2. If the first application software fails, this second
application can be loaded by flash boot, which can then allow the transition to “RMA”. Of course, if
authentication of the second application software also fails, there is no option to change to the “RMA” lifecycle
stage.
There might also be a requirement to erase all sensitive or proprietary code stored in the device before
transitioning to “RMA”. When authentication is enabled for “secure” image, the device transitions to the DEAD
state by erasing the “secure” image or digital signature for authentication. As a result, you cannot transition to
the “RMA” lifecycle stage. If you need to erase your code, you will need to prepare and write a signed dummy
code and digital signature.
Note: If the device already has a second application for “RMA” management, the first application
software can be erased if it has sensitive data. The second application can be launched by
programming a dummy application header (if needed) for the first application. See the
application note “Secure system configuration in TRAVEO™ II family” for details.
Note: In the “RMA” lifecycle stage, all access ports are always enabled if the OpenRMA command was
executed successfully and full access to flash, Work Flash, SRAM, and MMIO is granted. This means
that during the pre-analysis, standard RAM (March and Galloping) and flash tests can be executed.
Table 3 provides an overview of the access restrictions in different lifecycle stages and how they
can be configured.
Component/memory Options
SFLASH This field indicates what portion of the flash supervisory region is accessible through
the system debug port. Only a portion of the SFlash starting at the bottom of the
area is exposed.
• Entire region
• One-half
• One-quarter
• No access
MMIO This field indicates what portion of the MMIO region is accessible through the system
debug port. Encoding is as follows:
• All MMIO registers
• Only IPC MMIO registers accessible (system calls)
• No MMIO access
The configuration set for the SYSTEM-AP MPU depends on the current lifecycle stage.
“NORMAL_PROVISIONED”/“SECURED_W_DEBUG”: MPU settings defined in SFlash (row 13).
“SECURE”: MPU settings defined in eFuses.
Note that in the “RMA” lifecycle stage after successful execution of the OpenRMA command, full access to the
device is granted independent of the MPU configuration. However, note that if other internal protection units
(like SMPU or PPU) are configured through the currently executing application/HSM Software, access to various
resources can still be blocked.
Note: In CM7-based devices, SMPUs cannot be used for protecting peripherals (MMIOs) against CM7
accesses.
PPU
The PPUs are situated in the peripheral block and are associated with a peripheral group (peripherals with a
shared AHB-Lite bus infrastructure). A PPU is shared by all bus masters. The PPU distinguishes between
different protection contexts; it also distinguishes “secure” from “non-secure” accesses and user mode from
privileged mode accesses.
See the TRAVEO™ II architecture technical reference manual (TRM) for more information.
AND
• TOC2 configuration in SFlash: TOC2_FLAGS.SWJ_PINS_CTL set to ‘2’ (Enable SWJ pins in Flash boot). Note
that SWJ pins may also be enabled in the user code.
The configuration of the debug interface is done during the TRAVEO™ II internal boot process, where depending
on the present lifecycle stage, the configuration in SFlash or eFuses is evaluated and the port pins are set
accordingly.
In the user code, the connection status of a debugger can be read in the SWJ_CONNECTED bit of the
CPUSS_DP_STATUS register.
Note that for various reasons (like authentication failure or hash mismatch), the TRAVEO™ II device can enter
DEAD state from boot. DEAD access restrictions (DAR – Normal_DAR or Secure_DAR) will then decide how an
external debugger can have access to the device. If there is a failure during ROM boot execution, the DAP pins
are always configured by ROM boot. If there is a failure during flash boot execution, the DAR (Normal_DAR or
Secure_DAR) defines whether the DAP pins need to be configured (i.e., the DAR should allow access to at least
one access port if DAP pins need to be configured by boot). As a recommendation, the DAR can be configured in
such a way that the system access port is enabled and access for IPC MMIOs are granted. This will then allow
the debugger to read the possible reason for DEAD state entry from either of the boot processes.
TRAVEO™ II B-E
• CM0+ access: IPC structure 0
• CM4 access: IPC structure 1
• DAP access: IPC structure 2
TRAVEO™ II B-H / Cluster (not all cluster derivates have two CM7 cores)
• CM0+ access: IPC structure 0
• CM7_0 access: IPC structure 1
• CM7_1 access: IPC structure 2
• DAP access: IPC structure 3
Thus, IPC structure 2 should be used by DAP in CM4-based devices and single CM7-based devices, while IPC
structure 3 should be used for dual CM7-based devices for triggering system calls.
Cortex M4/M7
Certificate 1 COM Stack Application Software (regular operation)
external I/O
(SPI, CAN, ETH)
Boot Loader
Transition to RMA*
Signature Validation
RMA stage
Secure Boot
Figure 3 Transition to “RMA” lifecycle stage (option 1) via standard communication interface (e.g.,
CAN, Ethernet)
*Note that the device cannot be transitioned from “RMA” lifecycle stage to “NORMAL_PROVISIONED” or any
other lifecycle stage because of use of eFuse cells for storing the lifecycle stage.
If no function for the lifecycle transition is implemented OR cannot be executed for various reasons, the
transition can also made via the debug interface (JTAG/SWD). Consider the access restrictions described in
section 3.3 to allow performing the system call for lifecycle stage transition. Figure 4 illustrates how the
transition to “RMA” lifecycle stage can be triggered in a very early stage of software execution (start-up code)
via an interface such as JTAG. The advantage of this procedure is that the probability to get the system into a
deadlock condition (e.g., cyclic resets) is minimized and the device can be prepared for FA process to analyze a
possible hardware failure of the device. Keep in mind that only the Arm® Cortex® M0+ core must be used for this
option.
Cortex M4/M7
COM Stack Application Software (power off)
Secure Boot
Figure 4 Transition to “RMA” lifecycle stage (option 2) via dedicated I/O (e.g. JTAG)
*Note that the device cannot be transitioned from the “RMA” lifecycle stage to “NORMAL_PROVISIONED” or any
other lifecycle stage because of use of eFuse cells for storing lifecycle stage.
Note that it is recommended to trigger transition to “RMA” from DAP. See section 7.1 for details.
For guidelines for software implementation for lifecycle stage transition, see Appendix H, “Sample API” of
AN228680.
See Appendix H.1.1 of AN228680 for detailed information where the debugging capabilities are enabled after a
valid 128-bit key is provided via debug interface.
JTAG/SWD
OpenRMA Target
Script USB Debugger 10 .. 50cm
Application
Note that the certificates and digital signatures for TransitionToRMA and OpenRMA are different because the
command ID is different.
Cortex M4/M7
COM Stack Application Software (power off)
Signature DEAD
Certificate 2 state
Secure Boot
Note that in the “RMA” lifecycle stage, IPC reserved for DAP (IPC2 for B-E device, for example) must be used to
trigger the OpenRMA system call. Also, 1/16th of SRAM0 can be accessed until the OpenRMA command is
successfully executed. When using the OpenRMA API, the parameters such as certificate and digital signature
must be placed as follows:
• Devices with SRAM0 size larger than 64 KB: parameters must be placed from [SRAM0 start address + 4 KB] to
[SRAM0 start address + 1/16 of SRAM0 size].
• Devices with SRAM0 of 64 KB or less: parameters must be placed within 600 bytes from [SRAM0 start address
+ 2 KB]. The certificate and signature addresses are 24 bytes, and digital signature is 512 bytes. (RSA-4K).
In the example shown in section 4.2.2, a device with the SRAM0 size greater than 64 KB is considered.
The signature and the “RMA” certificate can be generated in Linux environment (e.g. Git Bash). Figure 7 shows
a script which creates the certificate and the signature based on the private key, which is associated with the
same public key stored in SFlash, which was used for authenticating the application in “SECURE” mode.
Note that this certificate and signature must be provided to Infineon. It will be proved in pre-analysis for
correctness and to open the device for first analysis steps (for example, RAM tests).
4.2.2 Step 2: definition of system call data in related locations in the SRAM
The OpenRMA API requires to store a parameter list, certificate, and signature in two separate areas in the
SRAM. The start address of the SROM API parameter list (SRAM_SCRATCH_ADDR) is handled by the IPC data0
register. The area where the signature is stored in the SRAM is defined by a pointer that is part of the parameter
shown in Figure 9. Both data fields must be downloaded to the SRAM during the execution of the OpenRMA
script. Figure 8 illustrates an example for possible locations in the SRAM for the OpenRMA data used for the
OpenRMA system call.
6
See AN228680 (Secure system configuration in Traveo™ II family) and the TRM for details on obtaining the device unique ID.
SRAM
0x08001000
OpenRMA SROM API
parameter list
Pointer to SRAM address
0x08001100
for the signature field
0x08001100
Signature
Note that the start addresses in the SRAM can be defined by the user.
Based on the certificate file, two further files must be created manually as the location in SRAM is customer-
specific. Figure 10 shows how the files are built.
• “open_rma_sign.txt”
This file consists of the signature (256 bytes) only.
• “open_rma_parameter_list.txt”
The OpenRMA API in TRAVEO™ II requires a dedicated parameter list to be stored in the SRAM. Along with the
certificate data, some additional information is required in the following format:
SRAM address
Figure 9 Format of SROM API parameters for the OpenRMA system call
OpenRMA SYSCALL
Parameter List
open_rma_parameter_list.txt
0x29000000
0x00000014
RMA Certificate 0x120029f0
0x0797b01a
0x29000000
0x000f350a
0x00000014
0x00700523
0x120029f0
Certificate Head
0x0797b01a Add pointer to
0x08001100 Signature Field
0x000f350a
0x00700523
0x6239516d
0xb4618bbd
Signature Field
0xbb385ebf open_rma_sign.txt
0xc357baff
. 0x6239516d
. 0xb4618bbd
Signature 0xbb385ebf
.
0xc357baff
0xb09f800c .
0x997782e4 .
0x28903254 .
0x14cba847
0xb09f800c
0x997782e4
0x28903254
0x14cba847
7
IPC structure is dependent on the TRAVEO™ II derivative.
inFileName = sys.argv[1]
targetAddress = int(sys.argv[2], 0)
returnAddress = int(sys.argv[2], 0)
NotifyNo = 0x00000001
inFile = open(inFileName,"r")
fileLines = inFile.readlines()
inFileName_sig = sys.argv[3]
targetAddress_sig = int(sys.argv[4], 0)
returnAddress_sig = int(sys.argv[4], 0)
inFile_sig = open(inFileName_sig,"r")
The script is called in GHS MULTI debugger by using the following command line option:
python UserDataLoadToRam.py open_rma_cert.txt 0x08001000 open_rma_sign.txt
0x08001100
The cores can be halted after the OpenRMA system call is executed successfully.
Note that depending on the clock speed used for the JTAG/SWD interface, the cable length from the debugger
hardware to the target application must be chosen properly. Read the instruction manual from the debugger
system for more details. Also consider the physical requirements for testing the unit in a climate chamber.
Transition to “RMA”
MPU of SYSTEM-AP
MPU of SYSTEM-AP
MPU of SYSTEM-AP
Testability on eval
Testability on ATE
(SFlash/eFuses)
SMPU - SRAM
SYSTEM-AP
MMIO - IPC
FLASH
FLASH
tester
SWPU
board
SRAM
DAP
NORMAL PROVISIONED – – – – – – – n N
n – – – – – – n n N
– n – – – – – n n N
y y y y – – – n n SRAM tests
possible
y y n – – – – n n No SRAM
test
y y – n – – – n n No SRAM
test
y y – – y y – n n FLASH
tests
possible
y y – – n – – n n No FLASH
test
y y – – – n – n n No FLASH
test
– n – – – – – n n n
y y y y – – – n n SRAM tests
possible
y y n – – – – n n No SRAM
test
y y – n – – – n n No SRAM
test
y y – – y y – n n FLASH
tests
possible
y y – – n – – n n No FLASH
test
y y – – – n – n n No FLASH
test
“SECURE”/“SECURE_W – – – – – – – n n n
_DEBUG”
n – – – – – – n n n
– n – – – – – n n n
y y y y – – – y n SRAM tests
possible
y y n – – – – n n No SRAM
test
Lifecycle stage
Transition to “RMA”
MPU of SYSTEM-AP
MPU of SYSTEM-AP
MPU of SYSTEM-AP
Testability on eval
Testability on ATE
(SFlash/eFuses)
SMPU - SRAM
SYSTEM-AP
MMIO - IPC
FLASH
FLASH
tester
SWPU
board
SRAM
DAP
y y – n – – – n n No SRAM
test
y y – – y y – n n FLASH
tests
possible
y y – – n – – n n No FLASH
test
y y – – – n – n n No FLASH
test
“RMA” – – – – – – y – All All tests
tests
– – – – – – n – Struct n
ural
tests8
Note that the SRAM and flash tests on the evaluation board are tests executed on the application level. They
evaluate the behavior of the related memory in terms of parameters such as ECC errors. The tests will not cover
tests like Vt analysis of flash cells which can only performed in an ATE tester.
8
Structural tests are limited test procedures executed on the ATE test machine which covers SCAN and BIST
(built-in self-test) tests and give no full test coverage compared to the test capabilities which are provided if the
correct OpenRMA certificate is provided and can open the device properly.
Application Note 28 of 38 002-30102 Rev. **
2021-07-02
Failure analysis process in TRAVEO™ II devices
Note that it is the customer QA’s responsibility to contact the project development team to collect all required
information.
In all these cases, the system call for lifecycle stage transition cannot be triggered. A detailed EFA on ATE test
machine will be refused by Infineon.
To overcome this situation, perform the lifecycle stage transition via the debug interface (JTAG/SWD).
According to different restrictions which are discussed in section 3.3, the customer must implement a concept
into the user software to allow the access to the MCU and to trigger the system call for the lifecycle stage
transition.
In this section, some possible options are introduced. These proposals must be carefully evaluated by the
customer in terms of security, safety, and additional start-up timing. The customer must take care of how the
concept can be implemented in their system.
Depending on the nature of the failure mechanism, the user software might be not executed in a very early
stage of the regular software flow. To allow access to the MCU via the debug interface, some configuration and
evaluations must be done during the startup code which enables the proper handling of the TransitionToRMA
system call.
In addition, keep in mind that during HSM protection rollout9 , additional protection configurations (with PPUs
and SMPUs) might get applied, which prevents a proper handling of the system call. The cores cannot be halted
during the access via SYSTEM-AP.
Note: If this procedure fails, no transition to “RMA” lifecycle stage is possible. In this case, contact your
QA partner to discuss further limited analysis steps.
9
HSM rollout consists of the execution of software library functions of the hardware security module.
Assuming that all APs are temporarily disabled and SYS_AP_MPU is not enabled as part of the access restriction
configuration, the following setup must be done by the user application software which would then allow the
possibility to trigger transition to “RMA” from DAP.
1. Configure all necessary DAP pins.
2. Configure the DAP MPU structures to give access to required resources (for example: IPC MMIOs, SRAM, etc.)
3. Configure a DAP MPU structure to not to give any access to the SRAM area which is additionally used by the
TransitionToRMA API. This is the 2 KB of SRAM starting from (SRAM0 + 2KB).
4. PPU/SMPU settings must allow required IPC MMIO and SRAM access.
5. Interrupt initialization in the user software: Enable IRQ0 and IRQ1 to allow the handling of system call
interrupts. Define interrupt vectors for both interrupts.
6. User software can then re-enable the access ports and trigger the TransitionToRMA system call.
Note: If one of the mentioned configuration items fails during the boot process or startup code, the
system call cannot be applied.
Also note that due to the improper initialization of the crypto memory buffer and internal SRAM0, crypto and
SRAM0 ECC errors may be set after the TransitionToRMA call. To avoid this issue, do not configure the fault
structure for crypto and SRAM0 ECC errors before triggering the TransitionToRMA system call OR ignore the ECC
faults reported during the TransitionToRMA system call execution.
Note: The device in the “RMA” lifecycle stage requires OpenRMA API on every reset. If the device-specific
failure, such as hardware failure, triggers a reset by the fault report after OpenRMA execution, the
device cannot be opened from the “RMA” stage. There are two options to handle this case:
1. Mask the device-specific failure that triggers a reset in advance before triggering the TransitiontoRMA API. The
application software that runs after the OpenRMA system call also needs to be masked. The protection state of
the “RMA” lifecycle stage indicates VIRGIN. Therefore, the software can know if the device is in the “RMA”
lifecycle stage using the CPUSS_PROTECTION register.
2. Reprogram a code that performs only “RMA” management before triggering the TransitiontoRMA API.
In that mode, the user application software remains in a “while(1)”-loop after IRQ0 and IRQ1 are enabled; the
transition to “RMA” lifecycle stage can be done via DAP.
To make the system more robust, a second requirement can be implemented where a dedicated pattern need
to be written into a dedicated SRAM area.
If both criteria are fulfilled, a transition to “RMA” lifecycle stage can be initiated.
Glossary
8 Glossary
Table 10 Definitions, acronyms and abbreviations
Acronyms and Definition
abbreviations
8D-report Documentation of analysis results for a claimed device
AP Access Port
ATE Automatic Test Equipment – Test Machine
CA Correction Action
CAR Correction Action Request
CCAR Customer Corrective Action Request
CPU Central Processing Unit
CSR Customer Specific Requirements
CQE Customer Quality Engineering
CSAM Confocal Scanning Acoustic Microscopy
DAR Dead Access Restrictions
DAP Debug Access Port
EFA Electrical Failure Analysis
EOL End of line, production test
FA Failure Analysis
HSM Hardware Security Module
IP Intellectual Property / Peripheral Module in the context of this AN
MCU Microcontroller
MPU Memory Protection Unit
NAR Normal Access Restrictions
NOK Not ok, failing device
NTF No trouble found
PCB Printed circuit board
QA Quality assurance
SAR Secure Access Restrictions
TOC2 Table Of Contents 2. This is an area in SFlash that is used to store pointers to two
applications blocks: Secure Image and Main User Application. It also contains some boot
parameters that are settable by the system designer.
TRM Technical Reference Manual
References
References
The following are the TRAVEO™ II family series datasheets and technical reference manuals. Contact Technical
support to obtain these documents.
[1] Device datasheet
® ®
• CYT2B7 datasheet 32-bit Arm Cortex -M4F microcontroller TRAVEO™ II Family
® ®
• CYT2B9 datasheet 32-bit Arm Cortex -M4F microcontroller TRAVEO™ II Family
® ®
• CYT4BF datasheet 32-bit Arm Cortex -M7 microcontroller TRAVEO™ II Family
® ®
• CYT4DN datasheet 32-bit Arm Cortex -M7 microcontroller TRAVEO™ II Family
Did the customer update or change their system design or If yes, provide details.
manufacture process flow recently?
Did the customer cross-check the failed units on good boards with If yes, provide details.
exchange test?
MPN number Detailed part number
Revision history
Revision history
Document Date of release Description of changes
version
** 2021-07-02 Initial release
IMPORTANT NOTICE
Edition 2021-07-02 The information contained in this application note is For further information on the product, technology,
given as a hint for the implementation of the product delivery terms and conditions and prices please
Published by only and shall in no event be regarded as a contact your nearest Infineon Technologies office
description or warranty of a certain functionality, (www.infineon.com).
Infineon Technologies AG condition or quality of the product. Before
81726 Munich, Germany implementation of the product, the recipient of this
application note must verify any function and other WARNINGS
technical information given herein in the real Due to technical requirements products may contain
© 2021 Infineon Technologies AG. application. Infineon Technologies hereby disclaims dangerous substances. For information on the types
any and all warranties and liabilities of any kind in question please contact your nearest Infineon
All Rights Reserved. (including without limitation warranties of non- Technologies office.
infringement of intellectual property rights of any
Do you have a question about this third party) with respect to any and all information
given in this application note. Except as otherwise explicitly approved by Infineon
document? Technologies in a written document signed by
authorized representatives of Infineon
Go to www.cypress.com/support The data contained in this document is exclusively Technologies, Infineon Technologies’ products may
intended for technically trained staff. It is the not be used in any applications where a failure of the
responsibility of customer’s technical departments product or any consequences of the use thereof can
Document reference to evaluate the suitability of the product for the reasonably be expected to result in personal injury.
intended application and the completeness of the
002-30102 Rev. ** product information given in this document with
respect to such application.