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.

PROCESSOR-SDK-AM62P: MCU_RTI0/WKUP ESM0 event not triggered as expected

Part Number: PROCESSOR-SDK-AM62P

Tool/software:

I am using MCU_RTI0 as my program Watchdog, have initialized the WKUP ESM0 with below configuration and callback.

Sometimes I can see the esm event fired and trigger the callback successfully, but most of the time it's not after RTI0 timeout, there's not callback triggered by verifying on a counter value.

I do not see this behavior in MCU+ SDK examples, only happen in my own environment. 

Any idea how can I proceed with the checking, i have use the same compiler, compiler option, linker that similar with example code.

static SDL_ESM_config RTI_Test_esmInitConfig_wkup =
{
    .esmErrorConfig = {0u, 3u}, /* Self test error config */
    .enableBitmap = {0x00000007u, 0x00000000u, 0x00200000u, 0x00000000u,
                      0x00000000u, 0x00000000u,
                     },
    /**< All events enable: except timer and self test  events, */
    /*    and Main ESM output.Configured based off esmErrorConfig to test high or low priorty events.*/
    .priorityBitmap = {0x00000007u, 0x00000000u, 0x00200000u, 0x00000000u,
                        0x00000000u, 0x00000000u,
                       },
    /**< Configured based off esmErrorConfig to test high or low priorty events. */
    .errorpinBitmap = {0x00000007u, 0x00000000u, 0x00200000u, 0x00000000u,
                         0x00000000u, 0x00000000u,
                        },
    /**< All events high priority:  */
};
int32_t SDL_ESM_applicationCallbackFunction2(SDL_ESM_Inst esmInst, SDL_ESM_IntType esmIntrType,
                        uint32_t grpChannel,  uint32_t index, uint32_t intSrc, void *arg)
{
    uint32_t intrStatus = 0;

    mooncount++;
    isrFlag = RTI_ESM;    

    SDL_RTI_getStatus(SDL_INSTANCE_MCU_RTI0_CFG, &intrStatus);
    SDL_RTI_clearStatus(SDL_INSTANCE_MCU_RTI0_CFG, intrStatus);
   
    /* clear the ERROR pin in ESM */
    SDL_ESM_clrNError(SDL_ESM_INST_WKUP_ESM0);

    //WDOG0_IRQHandler_Wrapper();

    return SDL_PASS;
}