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.

C5502 IDLE mode 3 - strange behaviour

Hello,

I implemented IDLE mode 3 with PLL disabled according to the instructions giving in C5502 data manual SPRS166K. I used WDT to wake up the system after 1000ms. Every thing seems to work fine when I am using JTAG emulator however when I load the code into flash then system does not go to low power mode. I could not figure out what is making the system behave that way when i am running code from the flash. Any idea or suggestions are welcome.

Thanks,

-Kashif

  •  

    Hello Kashif,

    Did you try running any other program from flash  does that work fine ?

    Are you seeing problem with IDlE 3 program alone ?

    Please let us know to further suggest.

    Regards

     Vasanth

  • Hi Vasanth,

    Thanks for your response. Yes other  program from flash is running just fine. I was using IDLE mode 3 alone. I did not try other IDLE modes. I will further test these modes and let you know.

    Thanks,

    -Kashif

  • Hi Vasanth,

    I tried with IDLE2, IDLE3 and IDLE3 with internal oscillator disabled Modes. All of them show the same behavior i.e. work as expected when running through JTAG emulator and does not got to IDLE mode when running from the flash. 

    Thanks,

    -Kashif

  • Hello Kashif,

       Try to go through the below link. This might help you.

        http://e2e.ti.com/support/dsp/c5000/f/109/t/33709.aspx

    Regards

     Vasanth

     

  • Vasanth,

    Thanks for the link. I reviewed this post however my case seems different than this. Here is some further information what i am doing:

    Before setting up idle mode I setup wake up register for WDT which is on INT3. I expect after issuing IDLE command DSP should go the IDLE mode and WDT interrupt will wake up the system. Before issuing IDLE command I cleared IFR so that next WDT interrupt should wake up the system. With emulator it is working as expected however when running from flash it seems like system wakes up immediately without waiting for WDT interrupt. I have a work around to make it work by waiting for WDT interrupt after issuing IDLE command but I am wondering why system wakes up immediately without waiting for WDT interrupt and works fine with emulator.

    Any suggestion in this direction?

    Thanks,

    -Kashif

  • Kashif,

    On this point of yours " it seems like system wakes up immediately without waiting for WDT interrupt"  -  Did it enter Idle mode at all ?

    Is it possible for you to try using other mechanism to wakeup from idle 3 mode, like using external interrupt source etc. This ensure IDLE3 procedure working correctly. 

    If the above mentioned procedure works, then issue would be the way you wakeup through WDT.

    Regards

     Vasanth 

     

  • Vasanth,

    Further debugging shows that system does go to idle3 mode but CPU wakes up immediately without waiting for WDT interrupt where I have further code to complete the wake up process from idle3 mode.

    I agree that issue is with waking up CPU through WDT.

    I currently do not have a way to setup external interrupt to wake up and want to use WDT for that purpose.

    Thanks,

    -Kashif