SDL ECC
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
When using CCS projects to build, import the CCS project for the required combination and build it using the CCS project menu (see Using SDK with CCS Projects).
When using makefiles to build, note the required combination and build using make command (see Using SDK with Makefiles)
Launch a CCS debug session and run the executable, see CCS Launch, Load and Run
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 tests have passed.