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

^

m4fss0-0 nortos

Toolchain

ti-arm-clang

Board

am62x-sk

Example folder

examples/sdl/ecc/

Steps to Run the Example

Sample Output

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

[BLAZAR_Cortex_M4F_1] ECC Example Application

Unit tests started …

ECC_Example_init: Init MAIN ESM complete

ECC_Example_init: Init WKUP ESM complete

SDTF_init: AGGR0 ECC Init complete

ESM Safety Example tests: starting

AGGR0 Double bit error inject Example test UC-1: starting

AGGR0 Double bit error inject test: Subtype 0x00000001 test complete

Waiting for ESM Interrupt

UC-1: Got Low priority ESM Interrupt

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

AGGR0 Double bit error inject test: Subtype 0x00000002 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

Memory Parity Error Test Complete

ECC Safety Example tests: success ECC UC-1 and UC-2 Test

All tests have passed. ../../../ecc_main.c:259:ECC_Example_app:MCUSDK-0:PASS


1 Tests 0 Failures 0 Ignored All tests have passed