cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Visitor
Visitor
7,339 Views
Registered: ‎02-17-2008

Issue with interrupt manager in PPC/Virtex4 system.

I'm implementing a PPC system on a Virtex4 with EDK 9.2 updated to the most recent service pack.
 
I've been working on getting the basic functionality working the past few weeks, and just recently moved on to the interrupts. Its my first time using interrupts in EDK, and I'm having a bit of trouble. Basically, I made an IP using the wizard in EDK, and set it up to include an interrupt, which put in the interrupt_control_v2_00_a module. I set it for edge detection, and then made my interupt signal be a one cycle long pulse. At the other end, I enabled all the software stuff, and started testing. I've found that I make it into the ISR, but when I try to clear the interupt it stays high. I've used a logic analyzer to check the interrupt signals, and the one from my logic is only triggering once, but then the interrupt_control_v2_00_a never goes low, even when I try to clear it with the ISR. I was under the impression that to clear it, you read the status register and then write it back. I just copied the code for doing that from the automatically generated drivers.
Does anyone have any idea what my problem is? Suggestions would be appreciated.
 
Tim
0 Kudos
2 Replies
Highlighted
Observer
Observer
7,217 Views
Registered: ‎05-03-2008

If you are using an Interrupt Controller use must acknowledge the interrupt in the ISR. There is an acknowledge function in the include file of the Intc. You should use the corresponding mask in the xparameters.h file. Thats how i make it.

 

Regards

0 Kudos
Highlighted
Visitor
Visitor
7,211 Views
Registered: ‎02-17-2008

Thanks for the reply!

I have to admit, I had already solved the problem and forgot to edit my original post. I was doing what you suggested, but the problem was that I had accidently changed one of my IPs so that there was overlaping address problems.

0 Kudos