cancel
Showing results for 
Search instead for 
Did you mean: 

non correctable error in SRAM

simone
Associate II
Posted on February 01, 2016 at 11:01

Hello,

using the SPC56EL70

I successfully injected correctable faults in RAM, but after injecting the uncorrectable one with following lines:

SPP_MCM.ECR.R=(0x20|0x02);  //activate correctable and non-correctable reportings

SPP_MCM.EEGR.R= 0x0220;       // inject uncorrectable error

*((uint32_t *) 0x40001000) = PATTERN;

SPP_MCM.EEGR.R= 0x0000;

When I access the location, I get trapped in 

void osalSysHalt(const char *reason) {

osalSysHalt:

0x00002AB0:   18 21 06 F0  E_STWU    R1,-0x10(R1)

0x00002AB4:   00 80        SE_MFLR   R0

0x00002AB6:   D5 01        SE_STW    R0,0x14(R1)

0x00002AB8:   D2 31        SE_STW    R3,0x8(R1)

  osalIsrDisable();

0x00002ABA:   79 FF FD F7  E_BL      0x000028B0

  osal_halt_msg = reason;

0x00002ABE:   70 08 E0 00  E_LIS     R0,0x4000

0x00002AC2:   C2 71        SE_LWZ    R7,0x8(R1)

0x00002AC4:   01 06        SE_MR     R6,R0

0x00002AC6:   54 E6 08 B8  E_STW     R7,0x8B8(R6)

  while (1)

    ;

0x00002ACA:   E8 00        SE_B      0x00002ACA

0x00002ACC:   00 00        SE_ILLEGAL  

0x00002ACE:   00 00        SE_ILLEGAL 

with reason 0x3340 -> clock failure.

What am I doing wrong?

1 REPLY 1
Erwan YVIN
ST Employee
Posted on February 02, 2016 at 17:18

Hello Simon ,

Could you check the stack ?

i think that when you inject a non-correctable error .. you are going to a SAFE mode.

are you resetting ?

   Best Regards

                         Erwan