This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS570LC4357: Diagnostic FLA11 triggers ESM 2.3 for single bit fault inject

Part Number: TMS570LC4357

Hi experts,

Our implementation of the diagnostic FLA11 behave as expected.
When triggering single bit error we get the expected ESM 1.4. Additionaly we get a ESM 2.3 which should not be triggered.

When implementing the diagnostic we used the SafeTi Library as a reference. Additionally we load the function into RAM as suggested by the Technical Reference Manual.

We do the following:

volatile uint32_t Val;
volatile uint32_t* Ptr = (uint32_t*)(FLASH->DIAGCTRL);

*Ptr = 0x50007U;

Ptr = (uint32_t*)(FLASH->FEMUDMSW);
*Ptr = 0x0U;

Ptr = (uint32_t*)(FLASH->FEMUDLSW);
*Ptr = 0x0U;

Ptr = (uint32_t*)(FLASH->FEMUECC);
*Ptr = 0xCEU;

Ptr = (uint32_t*)(FLASH->DIAGCTRL);
*Ptr |= (0 << 8U); // default value is 0 anyway

*Ptr |= (0x1U << 24U);

/*Trigger error with flash read*/
Ptr = (uint32_t*)(0x00000008U);
Val = (uint32_t)*Ptr;

Is a ESM 2.3 expected or is there something we are missing?

Thank you and best regards,
Max