Hi @PetrS
I tried to initialize memory as you suggested in previous post:
You said:
"yes, seems RTD is not fully correct with respect of ECC usage. This is disabled by default, i think, so does not bring any issue.
So before you want to enable ECC you need to manually initialize RAM from offsets 0x80-0xAD and 0xC20-0x31FF (or just parts does not covered by FlexCAN_ClearRAM).:
I have a lot of problems to initialize it outside RTD, because, first you must enter in Freeze mode (and not sure if it is necessary to reset MCR[MDIS] or other stuff ), then clear CAN memory and finally (I think, disable freeze mode (and, maybe disable can....and probabilly some other stuff...)).
But happens to me that sometimes MCU fails to enter in freeze mode and I don't know why .... and other unpredictable behaviours.
Anyway in RM rev8 is reported as Follow (see point 3.):

So ALL flexcan memory is to be initialized only at step 3, after steps 1 and 2 !
FlexCAN_Init() follows exactly these steps and calls correctly FlexCAN_ClearRAM() function. The problem (or bug?) is that function doesen't initialize all 0x80-0xAD and 0xC20-0x31FF (related to CAN_0) memory........... as requested by R. manual.
this is a big problem because:
1) Fault Injection is not possible
2) also ECC runtime management, enabled by FlexCAN_Ip_SetMemErrorDetection() could have some problems, because ECC parity bit are not cleared at init.
So manual says that clear ram need to be performed at a specific initialization step (step 3), but RTD does't clear all memory. (ECC and Fault Inj are required by ASILD)
What is the solution ?
Best regards,