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-1

Single DED error on WKUP ESM for wrapper RAM ID type

UC-2

Single SEC error on Main ESM for wrapper RAM ID type

UC-3

Parity error injection on Main ESM for interconnect RAM ID type

UC-4

Single DED error on Main ESM for wrapper RAM ID type

Supported Combinations

Parameter

Value

CPU + OS

mcu-r5fss0-0 nortos

Toolchain

ti-arm-clang

Board

am62dx-evm

Example folder

examples/sdl/ecc/

Steps to Run the Example

Sample Output

Shown below is a sample output when the application is run,

ECC Example Application

ECC_Example_init: Init MAIN ESM complete

ECC_Example_init: Init WKUP ESM complete

ECC_init: AGGR0 ECC Init complete

ECC_init: PSRAM ECC Init complete

ECC_init: MCU MCAN1 ECC Init complete

ESM Safety Example tests: starting

MCU MCAN1 Double bit error inject Example test UC-1: starting

MCU MCAN1 Double bit error inject test: pError address 0x04E10000 test complete and the value is 0x00000301

Waiting for ESM Interrupt

UC-1: Got Low priority ESM Interrupt

AGGR0 Single bit error inject Example test UC-2: starting

AGGR0 Single bit error inject test: Subtype 0x00000004 test complete

Waiting for ESM Interrupt

UC-2: Got High priority ESM Interrupt

AGGR0 Memory Parity inject Example test UC-3: starting

AGGR0 Single bit error self test: Subtype 0x00000001 test complete

Waiting for ESM Interrupt

UC-3: Memory Parity Error Test Complete

PSRAM0 Double bit error inject Example test UC-4: starting

PSRAM0 Double bit error inject test: pError address 0x00900000 test complete and the value is 0x00000301

Waiting for ESM Interrupt

UC-4: Got Low priority ESM Interrupt

ECC Safety Example tests: success

ECC UC-1 and UC-2 Test

All tests have passed.