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.

Powerup problem with the TMDXRM48USB development board

Hi,

My appliction sometimes doesn't startup when powering up the board. My application works correctly when downloading and running from CCS.

But when I (after downloading and running with CCS) disconnect and connect the USB cable again (and thus disconnect power and powerup again), the applicationd does not run.

When I reconnect the CCS debugger after the failure I get the following screen.

So it hangs in the esmGroup2Notification() function. This function is called in the Interrupt0 routine which is the ESM-high interrupt.

Why do I get this interrupt? And why do I see it twice on the left-upper pane? I assume this is the stack view?

  • Hi Cor, have you been able to figure out what error is causing this? For eg. by reading the status flags. THis will help in diagnosing this further. From a general state of some variables/return address etc. are you able to tell where exactly the code is when this occurred?

  • Hello Abhishek,

    As you can see in the picture, the processor hangs in the while() loop of esmGroup2Notification(). This is because of interrupt0.

    But I do not understand why this interrupt is generated? Why there are two interrupt0 lines in the stack view (is it the stack view?). It is a FIQ level interrupt and it can not be nested. So why are there two lines?

    Please let me know what bits or variables I should check.

  • Cor

    From the device ID register are you reading 0x802AAD05. If so, there is an errata relating to a power domain issue leading to CCM R4 miscompare error.

    You can also read the 0xFFFF F51C register to see if the CCM R4 error bit2 is set. You need to handle this error before you enable the FIQ to avoid this.

  • Hi Abhishek,

    Thanks. I will check that later today. I'm currently not at the correct place to check it.

    Can you tell me if the upper left pane of the picture I attached before is the stack view? If so, how is it possible that two times the interrupt0 is listed while this is an uninterruptable interrupt?

  • Hello Abhishek,

    I can not find the device ID register. Where am I suppose to find it?

    Bit 2 of the ESM status regiser 2 (FFFFF51C) is indeed set!. I can not find information about this bit. The documentation does not tell me what error signal it is.

    You say it must be handled. Is clearing the interrupt enough? Or do I need to do something else?

  • Device ID is at 0xFFFF FFF0

    The workaround is described in the errata doc. Pasted as below:

    Clear the ESM group 2 channel 2 flag in the Error Signaling Module (ESM) Group2
    status register (ESMSR2) as well as the Compare Error flag in the CCM-R4 status
    register (CCMSR) immediately after power-up. The nERROR terminal will be driven low
    and then high once the default low-time for asserting nERROR expires

  • Hello Abhishek,

    This errata together with a bigger stack solved the problem. It seems stable now. Thanks!