Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
12746 ディスカッション

Interrupt processing not working

SKuma120
初心者
2,078件の閲覧回数

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 件の賞賛
1 解決策
Ahmed_H_Intel1
従業員
1,440件の閲覧回数
Hi, Thanks for figuring out the mistake by yourself, in future I recommend you to use the VIC (Vectored Interrupt controller) IP. Regards.

元の投稿で解決策を見る

6 返答(返信)
Ahmed_H_Intel1
従業員
1,440件の閲覧回数
Hi, Why you give priorities 1 and 8, is there any other interrupts between?
SKuma120
初心者
1,440件の閲覧回数

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
従業員
1,440件の閲覧回数
Hi, So what interface clears the interrupt register? Can you share with us your results?
SKuma120
初心者
1,440件の閲覧回数

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
従業員
1,441件の閲覧回数
Hi, Thanks for figuring out the mistake by yourself, in future I recommend you to use the VIC (Vectored Interrupt controller) IP. Regards.
返信