Other Parts Discussed in Thread: HALCOGEN
Dear Hercules team,
My customer has some questions to two of the self-tests out of the SafeTI-Libaray.
The questions are related to the following function call:
SL_PSCON_FailInfo failInfoPSCON; /* PSCON failure information */
retVal = SL_SelfTest_PSCON(PSCON_ERROR_FORCING_FAULT_INJECT, TRUE, &failInfoPSCON);
This function call is supposed to inject an Error.
Calling this function on a RM48 device, it returns “true” and a ESM-interrupt with channel ESM_G1ERR_PSCON_SELTEST_ERR gets trigger. That confirms a successful Error-injection.
Calling this function on a RM44 device, it returns “false” and there is no ESM-interrupt trigger. That implies the Error-injection was not successful.
Why is this function call returning “false” on the RM44 (and not triggering a ESM-interrupt)?
Can this Error-injection not be used on the RM44?
Is there are specific configuration required when using this Error-injection (different ones for RM48 and RM44)?
Remark:
For the RM42, this Code does not seem to be usable (according to the SafeTI-Library), but it should work for the RM44:
sl_selftest.c V2.4.0, Zeile 2394)
#if defined(_TMS570LS31x_) || defined(_TMS570LS12x_) || defined(_TMS570LS07x_) || defined(_TMS570LS09x_) || defined(_RM48x_) || defined(_RM46x_) || defined(_RM44x_) || defined(_TMS570LC43x_) || defined(_RM57Lx_)
Some more remarks:
The tests…
SL_SelfTest_PSCON(PSCON_SELF_TEST, true, &failInfoPSCON);
SL_SelfTest_PSCON(PSCON_ERROR_FORCING, true, &failInfoPSCON);
SL_SelfTest_PSCON(PSCON_SELF_TEST_ERROR_FORCING, true, &failInfoPSCON);
SL_SelfTest_PSCON(PSCON_PMA_TEST, true, &failInfoPSCON);
… are working on the RM48 and RM44 as expected
Other Error-injections like:
retVal = SL_SelfTest_Flash(FLASH_ADDRESS_PARITY_FAULT_INJECT, TRUE, &failInfoFlash);
Are working on RM48 and RM44 (and RM42) as expected and trigger a ESM-Interrupt.
retVal = SL_SelfTest_PSCON(PSCON_SELF_TEST_ERROR_FORCING_FAULT_INJECT, TRUE, &failInfoPSCON);
Shows on the RM44 the same issue as described at the beginning of the thread (retVal = SL_SelfTest_PSCON(PSCON_ERROR_FORCING_FAULT_INJECT, TRUE, &failInfoPSCON);).
So it returns “false” and does not trigger a ESM-Interrupt.
Please help to clarify these topics/questions towards the customer.
Best Regards,
Matthias