I use cyclone V HPS, and there is a problem in configuring interrupt priority. I gave OSC1 TIMER a higher priority, and after the program was executed, I found that it could not preempt the low priority external interrupt from FPGA. Look at the priority configuration MASK and binary point are lower 3 bits. Excuse me, where is my configuration wrong.
The OSC1 timer runs normally as shown in figure 2. after the interrupt from FPGA is enabled, the timer interrupt cannot run normally, as shown in figure 1
Please check the ARM document on the Interrupt prioritization:
You can also check out the example design below on GIC controller:
The Priority interrupts, ID0-ID15, that can only be triggered by software called Software Generated Interrupts (SGI).
Unfortunately, we do not have any official document on how this can be done, thus please refer to below suggestion from other discussion on the SGI configuration:
I found the documentation below on the Preemption on section 3.3, could you take a look: