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.

Interrupt Execusion Time



Hi all,

I am recently using F2808 and got the following question:

1. Is  the time between an interrupt initiated and the isr executed fixed?

Thanks!

  • billstrong said:
    1. Is  the time between an interrupt initiated and the isr executed fixed?

    Bill,

    I find this useful when talking about interrupt latency - it is taken from the Delfino workshop:

    http://processors.wiki.ti.com/index.php/C2000_Delfino_Multi-Day_Workshop

     

    The actual maximum latency will change, as indicated in the image.  Things that can delay an interrupt:

    • Are interrupts disabled (INTM)?   When you take an interrupt this is automagically done - so to allow nested interrupts it has to be cleared.
    • Is the CPU executing a RPT instruction (single repeat).  This cannot be interrupted.
    • Multiple cycle instructions - for example, if the CPU was just executing a loop - each time through the loop a branch would be taken which could delay an interrupt for 4 cycles.   One way to avoid this is to put the CPU into idle so it will be in the same state each time the interrupt comes in.
    • Is code execution in waitstated memory
    • Is stack in waitstated memory - rare that we have data memory with a waitstate in c2000 but say, just as a weird example, the stack was in external memory (XINTF).
    • Is the stack and the code in the same physical memory block

    Hope this helps

    Lori