Introduction
This example shows setup and usage of some ECC Aggregators for a few events in the Main domain. It shows the following:
- Setup of an ESM application callback to receive Single Error Correction (SEC) and Double Error Detection (DED) events and setup of ECC Aggregators in general
- Triggering of ECC events for a small number of RAM IDs, including Interconnect type and Wrapper type
- Printing out error information within the ECC callback upon reception of ECC events
The following use cases are implemented in this example:
Use Cases
Use Case | Description |
UC-0 | Single DED error on Main ESM for wrapper RAM ID type |
UC-1 | Single SEC error on Main ESM for wrapper RAM ID type |
UC-2 | Parity error injection on Main ESM for interconnect RAM ID type |
Supported Combinations
Parameter | Value |
CPU + OS | r5fss0-0 nortos |
Toolchain | ti-arm-clang |
Board | am275x-evm |
Example folder | examples/sdl/ecc/ |
Steps to Run the Example
Sample Output
Shown below is a sample output when the application is run,
[MAIN_Cortex_R5_0_0]
ECC Example Application
ECC_Example_init: Init MAIN ESM complete
ECC_Example_init: Init WKUP ESM complete
ECC_init: MAIN MCAN1 ECC Init complete
ECC_init: C7X256V1 ECC Init complete
ESM Safety Example tests: starting
MAIN MCAN1 single bit error inject Example test UC-1: starting
MAIN MCAN1 Single bit error inject test: pError address 0x20718000 test complete and the value is 0x00000000
Waiting for ESM Interrupt
UC-1: Got the ESM Interrupt
C7X256V1 Single bit error inject Example test UC-2: starting
Single bit error inject test: Subtype 0x00000000 test complete
Waiting for the ESM Interrupt
UC-2: Memory Parity Error Test Complete
MAIN MCAN1 Double bit error inject Example test UC-0: starting
MAIN MCAN1 Double bit error inject test: pError address 0x20718000 test complete and the value is 0x00000301
Waiting for ESM Interrupt
UC-0: Got the ESM Interrupt
ECC Safety Example tests: success
ECC UC-1 and UC-2 Test
All Use_Cases have passed.