Intel® SoC FPGA Embedded Development Suite
Support for SoC FPGA Software Development, SoC FPGA HPS Architecture, HPS SoC Boot and Configuration, Operating Systems
Announcements
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
305 Discussions

ARM A9 bare matal IRQ priority can't work

TBaox
Beginner
808 Views

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.

Inked微信图片_20210510110658_LI.jpg

微信图片_20210510111022.jpg

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

0 Kudos
12 Replies
EBERLAZARE_I_Intel
783 Views

Hi,

Is the timer interrupt that you mentioned also could not run normal if if interrupt from other sources other than FPGA?

TBaox
Beginner
755 Views

I didn't try that.

But  IRQ from FPGA timer ip doesn't preempt the low priority external interrupt from FPGA pio,too.

So I think something wrong on my configation. 

EBERLAZARE_I_Intel
739 Views

May I know which Quartus version you are using? Also how did you compile/setup your preloader files?

TBaox
Beginner
726 Views
EBERLAZARE_I_Intel
710 Views

Hi,

 

Please check the ARM document on the Interrupt prioritization:

https://developer.arm.com/documentation/ddi0407/e/interrupt-controller/about-the-interrupt-controlle...

 

You  can also check out the example design below on GIC controller:

ftp://ftp.intel.com/pub/fpgaup/pub/Intel_Material/16.0/Tutorials/Using_GIC.pdf

 

TBaox
Beginner
701 Views

Sorry,I can't open the second link.

 

 

EBERLAZARE_I_Intel
685 Views

Hi,

 

Unfortunately, the link is no longer available.

 

May I know, how did you setup/configure the prioritization? Did you have the H2f/f2h bridges enabled?

TBaox
Beginner
677 Views

I use this function and I have enabled H2f bridge and light H2F bridge, unuse f2H bridge. 

//set prioritization

alt_int_dist_priority_set(ALT_INT_INTERRUPT_F2S_FPGA_IRQ0,48);

 

 

EBERLAZARE_I_Intel
658 Views

Hi,

 

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:

https://stackoverflow.com/questions/20430733/inter-processor-interrrupts-in-arm-cortex-a9-how-to-wri...

https://stackoverflow.com/questions/41851975/enable-and-distribute-irqs-in-linux

 

 

 

TBaox
Beginner
644 Views
EBERLAZARE_I_Intel
613 Views

Hi,

 

I found the documentation below on the Preemption on section 3.3, could you take a look:

https://developer.arm.com/documentation/ihi0048/bb

 

TBaox
Beginner
587 Views
Reply