Other Parts Discussed in Thread: TMS570LS20216, HALCOGEN
Hi,
I have been trying to perform the CCM self-test on TMS570LS20216. The step in our implementation of the error forcing mode is the same as sys_selftest.c of the HalcogenTMS570LS31x generated file.
CCMKEYR = ERROR_FORCING_MODE;
/* Wait till error-forcing is completed. */
while (CCMKEYR != 0U)
{
}/* Wait */
/* check if compare error flag is set */
if ((esmREG->ESTATUS1[esmGROUP2] & 0x4U) != 0x4U)
{
/* ESM flag is not set */
CCM_SELF_CHECK_FAIL3
else
{
/* Check FIQIVEC to ESM High Interrupt flag is set */
if((vimREG->FIQINDEX & 0x000000FFU) != 1U)
{
/* ESM High Interrupt flag is not set in VIM*/
CCM_SELF_CHECK_FAIL4
}
As it's mentioned in the reference manual, the ESM error flag is expected after completing the error forcing mode. In our code, the interrupt occurs and the esmGroup2Notification function is executed but I receive the CCM_SELF_CHECK_FAIL3 fail notification which means the ESM group2, channel2 status register has not been set. By removing the while loop which waits for the completion of error forcing mode, the CCM_SELF_CHECK_FAIL3 message does not appear but the next fail notification (CCM_SELF_CHECK_FAIL4) occurs.
Can you help me to find out what is wrong with this code?
Sincerely,
Fatemeh