AM62Px MCU+ SDK  11.01.00
SDL ECC SEC

Introduction

This example takes an aggregator index as input from the user and performs single bit error test for the corresponding aggregator. It involves the following steps:

  • Setup of an ESM application callback to receive Single Error Correction (SEC) and setup of ECC Aggregators in general
  • Triggering of ECC events for all the RAM IDs, including Interconnect type and Wrapper type
  • Printing out error information within the ECC callback upon reception of ECC events

Aggregators Supported

The following aggregators can be tested using this example.

Aggregator Index ECC Aggregator
0 SDL_WKUP_R5FSS0_PULSAR_UL_CPU0_ECC_AGGR
1 SDL_DSS_DSI0_K3_DSS_DSI_DSI_TOP_ECC_AGGR_SYS
2 SDL_PSRAMECC0_PSRAM256X32E_ECC_AGGR
3 SDL_PSRAMECC1_PSRAM256X32E_ECC_AGGR
4 SDL_MSRAM_64K0_MSRAM2KX256E_ECC_AGGR
5 SDL_WKUP_ECC_AGGR2
6 SDL_ECC_AGGR0_SAM67_SEC_HSM_ECC_AGGR
7 SDL_DMASS1_DMSS_CSI_AM62A_ECCAGGR
8 SDL_MCU_MSRAM_256K1_MSRAM32KX64E_ECC_AGGR
9 SDL_WKUP_VTM0_K3VTM_N16FFC_ECCAGGR
10 SDL_WKUP_ECC_AGGR1
11 SDL_FSS0_FSS_UL_OSPI0_OSPI_WRAP_ECC_AGGR
12 SDL_MCU_R5FSS0_PULSAR_ULS_CPU0_ECC_AGGR
13 SDL_GICSS0_GIC500SS_1_4_ECC_AGGR
14 SDL_CPSW0_CPSW_3GUSS_AM67_CORE_ECC_CPSW_ECC_AGGR
15 SDL_CSI_RX_IF0_CSI_RX_IF_ECC_AGGR
16 SDL_PSCSS0_SAM67_MAIN_PSC_WRAP_ECC_AGGR
17 SDL_MMCSD2_EMMCSD4SS_ECC_AGGR_RXMEM
18 SDL_MMCSD2_EMMCSD4SS_ECC_AGGR_TXMEM
19 SDL_SA3_SS0_SA3SS_AM62A_DMSS_ECCAGGR
20 SDL_SA3_SS0_SA3SS_AM62A_SA_UL_ECC_AGGR
21 SDL_MCU_MCAN1_MCANSS_MSGMEM_WRAP_ECC_AGGR
22 SDL_WKUP_ECC_AGGR0
23 SDL_DMASS0_ECC_AGGR_0
24 SDL_PDMA0_SAM67_PDMA_SPI_ECCAGGR
25 SDL_MCU_ECC_AGGR1_SAM62A_MCU_PULSAR_UL_ECC_AGGR
26 SDL_USB1_USB2SS_16FFC_USB2SS_CORE_ECC_AGGR
27 SDL_USB0_USB2SS_16FFC_USB2SS_CORE_ECC_AGGR
28 SDL_MCU_MSRAM_256K0_MSRAM32KX64E_ECC_AGGR
29 SDL_MMCSD1_EMMCSD4SS_ECC_AGGR_RXMEM
30 SDL_MMCSD1_EMMCSD4SS_ECC_AGGR_TXMEM
31 SDL_WKUP_PSRAMECC_8K0_PSRAM8KX32E_ECC_AGGR
32 SDL_PDMA1_SAM62_PDMA_UART_ECCAGGR
33 SDL_MCU_ECC_AGGR0
34 SDL_MCAN1_MCANSS_MSGMEM_WRAP_ECC_AGGR
35 SDL_MCAN0_MCANSS_MSGMEM_WRAP_ECC_AGGR
36 SDL_MMCSD0_EMMC8SS_16FFC_ECC_AGGR_TXMEM
37 SDL_MMCSD0_EMMC8SS_16FFC_ECC_AGGR_RXMEM
38 SDL_COMPUTE_CLUSTER0_SAM62A_A53_512KB_WRAP_A53_DUAL_WRAP_CBA_WRAP_A53_DUAL_WRAP_CBA_COREPAC_ECC_AGGR_CORE0
39 SDL_COMPUTE_CLUSTER0_SAM62A_A53_512KB_WRAP_A53_DUAL_WRAP_CBA_WRAP_A53_DUAL_WRAP_CBA_COREPAC_ECC_AGGR_CORE1
40 SDL_COMPUTE_CLUSTER0_SAM62A_A53_512KB_WRAP_A53_DUAL_WRAP_CBA_WRAP_A53_DUAL_WRAP_CBA_COREPAC_ECC_AGGR_CORE2
41 SDL_COMPUTE_CLUSTER0_SAM62A_A53_512KB_WRAP_A53_DUAL_WRAP_CBA_WRAP_A53_DUAL_WRAP_CBA_COREPAC_ECC_AGGR_CORE3
42 SDL_COMPUTE_CLUSTER0_SAM62A_A53_512KB_WRAP_A53_DUAL_WRAP_CBA_WRAP_A53_DUAL_WRAP_CBA_COREPAC_ECC_AGGR_COREPAC
43 SDL_MCU_MCAN0_MCANSS_MSGMEM_WRAP_ECC_AGGR

Supported Combinations

Parameter Value
CPU + OS mcu-r5fss0-0 nortos
Toolchain ti-arm-clang
Board am62px-sk
Example folder examples/sdl/ecc_sec/

Steps to Run the Example

Sample Output

Shown below is a sample output when the application is run for a couple of aggregators,

[MCU_R5FSS0_0]
ECC Example Application
ECC_Test_init: Init MCU ESM complete
ECC_Test_init: Init MAIN ESM complete
ECC_Test_init: ECC Callback Init complete for MCU ESM
ECC_Test_init: ECC Callback Init complete for Main ESM
ECC SDL API tests: starting
Refer the User Guide for the aggregator information
Select the memory to test...
...selected 4
ecc_aggrtest: [4] single bit error self test: SDL_MSRAM_64K0_MSRAM2KX256E_ECC_AGGR starting
ECC_Memory_init: [4] SDL_MSRAM_64K0_MSRAM2KX256E_ECC_AGGR ECC Init complete
Self test started accessable RamId 0 starting
Self Test completed for accessable RamId 0
Select the memory to test...
10
...selected 10
ecc_aggrtest: [10] single bit error self test: SDL_WKUP_ECC_AGGR1 starting
ECC_Memory_init: [10] SDL_WKUP_ECC_AGGR1 ECC Init complete
Self test started RamId 0 starting
Self test started RamId 0 completed
Self test started RamId 1 starting
Self test started RamId 1 completed
Self test started RamId 2 starting
Self test started RamId 2 completed
Self test started RamId 3 starting
Self test started RamId 3 completed
Self test started RamId 4 starting
Self test started RamId 4 completed
Self test started RamId 5 starting
Self test started RamId 5 completed
Self test started RamId 6 starting
Self test started RamId 6 completed
Select the memory to test...