How does interrupt handling work on the F28xx series?

Altair Forum User
Altair Forum User
Altair Employee
edited October 2020 in Community Q&A

Submitted by Joe on Thu, 10/29/2015 - 21:06 

 

priority

How do I set interrupt priority on the F28xx line of chips?

Tagged:

Answers

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited June 2016

    Submitted by pete on Thu, 10/29/2015 - 21:25.

    Good question. Properly configured interrupts are either serviced (if no other interrupt is in the process of being serviced) or left pending until the current interrupt service routine is completed. All interrupts have a unique but fixed priority set by the hardware. TI has ordered priorities so that lower valued interrupts have higher priority. If a given interrupt handler re-enables interrupts while processing the interrupt, any interrupts of higher priority will cause preemption of the current interrupt and invocation of the higher priority interrupt handler. When the higher priority handler is complete, control will be returned to the lower priority interrupt. To enable interrupts in a lower priority handler, you insert a VisSim extern function set to “enable_interrupts()” at the top of the page. The diagram below from the F28377D user guide shows priorities of interrupts on that chip. Priority decreases left to right, top to bottom:

    <?xml version="1.0" encoding="UTF-8"?>TI-f28377d-interrupt-table.png