Other Parts Discussed in Thread: HALCOGEN
Hi,
Customer is testing SafeTI Diagnostic Library demo on RM57L HDK.
At the startup, the code stops at while loop at line#204 HL_sys_startup.c.
The source code is under below folder:
\ti\Hercules\SafeTI Diagnostic Library\2.4.0\demo_app\HALCoGen\RM57L843_NoOS\source
/* Check if there were ESM group3 errors during power-up. * These could occur during eFuse auto-load or during reads from flash OTP * during power-up. Device operation is not reliable and not recommended * in this case. */ if ((esmREG->SR1[2]) != 0U) { while(1); //ESM group3 error }
esmREG->SR1[2] is set to 0x00000008 here.
The comment says something wrong at power-up. What is the exact cause of the error and how to avoid it?
Customer tried to write 0x00000008 to esmREG->SR1[2] to clear the error, the error never occurs until next power cycle.
But the code stops inside _SL_HoldNClear_nError() at line#445.
/* Make sure that the CPU self-test controller can actually detect a fault inside CPU */ stcSelfTestConfig.stcClockDiv = 0; /* STC Clock divider = 1 */ stcSelfTestConfig.intervalCount = 1; /* One interval only */ stcSelfTestConfig.restartInterval0 = TRUE; /* Start from interval 0 */ stcSelfTestConfig.timeoutCounter = 0xFFFFFFFF; /* Timeout counter*/ _SL_HoldNClear_nError();
What causes this error and how to avoid it?
Thanks and regards,
Koichiro Tashiro