Forum Discussion

SKuma120's avatar
SKuma120
Icon for New Contributor rankNew Contributor
7 years ago
Solved

Interrupt processing not working

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?

  • Hi, Thanks for figuring out the mistake by yourself, in future I recommend you to use the VIC (Vectored Interrupt controller) IP. Regards.

6 Replies

  • Ahmed_H_Intel1's avatar
    Ahmed_H_Intel1
    Icon for Frequent Contributor rankFrequent Contributor
    Hi, Why you give priorities 1 and 8, is there any other interrupts between?
    • SKuma120's avatar
      SKuma120
      Icon for New Contributor rankNew Contributor

      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.

  • Ahmed_H_Intel1's avatar
    Ahmed_H_Intel1
    Icon for Frequent Contributor rankFrequent Contributor
    Hi, So what interface clears the interrupt register? Can you share with us your results?
    • SKuma120's avatar
      SKuma120
      Icon for New Contributor rankNew Contributor

      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. 🙂

  • Ahmed_H_Intel1's avatar
    Ahmed_H_Intel1
    Icon for Frequent Contributor rankFrequent Contributor
    Hi, Thanks for figuring out the mistake by yourself, in future I recommend you to use the VIC (Vectored Interrupt controller) IP. Regards.