Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Novice
646 Views

Interrupt processing not working

Jump to solution

Hello , I am new to nios programming this can be a basic question.

I have two external interrupts connected to external devices with different interrupt priorities one is 1 and other is 8 . Both the interrupt are properly registered also but while running only one isr is getting serviced and other is not at all serviced. How to check the status register while debugging in eclipse.?

In other micro controllers we need to clear the interrupt flag after each time it get serviced , in nios also do we need to do it ? If yes is which function can i use?

 

0 Kudos

Accepted Solutions
Highlighted
Employee
8 Views
Hi, Thanks for figuring out the mistake by yourself, in future I recommend you to use the VIC (Vectored Interrupt controller) IP. Regards.

View solution in original post

0 Kudos
6 Replies
Highlighted
Employee
8 Views
Hi, Why you give priorities 1 and 8, is there any other interrupts between?
0 Kudos
Highlighted
Novice
8 Views

Thanks for the reply.

Yes, there are other interrupts in between. I tried changing the priorities to 1 & 2 but it did not help.

Reading the interrupt register in debug mode, i observed an issue while reading the result from one of the interface clears other existing interrupts . So the second channel interrupt get cleared and isr is not serviced.

I have to fix this now.

Highlighted
Employee
8 Views
Hi, So what interface clears the interrupt register? Can you share with us your results?
0 Kudos
Highlighted
Novice
8 Views

Its like two sensors connected as two i2c interface (user defined) to the system.

In verilog we made some mistake, after reading the result from one interface we cleared the interrupt for the both interfaces . So the isr for second interface did not work.

Now the issue is fixed. Thanks for the Help. 🙂

0 Kudos
Highlighted
Employee
9 Views
Hi, Thanks for figuring out the mistake by yourself, in future I recommend you to use the VIC (Vectored Interrupt controller) IP. Regards.

View solution in original post

0 Kudos