Hello,
Q1.
Please advise a general procedure of interrupt priority change under interrupts enabled.
Is it possible just to call IntPrioritySet() ?
Assume:
- Interrupt enabled at the beginning.
- Tivaware driver library
Once I wondered the necessity of disabling interrupts, but a sample code
[interrupts.c: Ln417] calls IntPrioritySet() under GPIO interrupts enabled.
I also think it would be best to disable interrupts if the application accepts:
e2e.ti.com/.../563599
Q2.
Please assume that there are multiple IRQ pending.
Then IntPrioritySet() changes the priority of a pending IRQ.
In the case, is it possible for the function to change the next ISR?
In other words, Is the next ISR chosed after the function?
Q3.
My customer asked the CPU cycle # of the funciton IntPrioritySet().
Could you please advise?
My idea is to insert the instruciton in the C code to makes sure
the completion of the priority change.
In the case my customer would not have to put a delay loops until the change become effective.
DS p.92
Dynamic exception priority change
When an exception priority has to change when the exception is pending or active,
use DSB instructions after the change. The change then takes effect
on completion of the DSB instruction.