- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
i am trying to implement an Interrupt routine for a two signal bus. Problem: the ISR() function is never called on a hardware rising edge of one of the two signals. In QSYS i configured this "Bus" called "events" with: - Interrupt, Synchronously capture, Generate IRQ, Rising edge, Address 0x0800_29a0 to 0x0800_29af, IRQ7 as can be seen in picture 1: http://www.alteraforum.com/forum/attachment.php?attachmentid=11448&stc=1 In the main() function i tryed to register it with the alt_irq_register function as in picture 2: http://www.alteraforum.com/forum/attachment.php?attachmentid=11449&stc=1 On the right side you can see the defines witch was made from the BSP generator. But the ISR() function is never called on a hardware rising edge of one of the two signals. Questions:1) Is this the right register function? (i tryed also with err = alt_ic_isr_register(EVENTS_IRQ_INTERRUPT_CONTROLLER_ID, EVENTS_IRQ, ISR, EVENTS_BASE, NULL); without success) I could also imagine to register the IRQ beside the OS, because this interrupt is the most important. Interrupting the OS would not really have a big effect since i just whant to set a flag wich then by the OS could be threated. But what to do? How to Register the IRQ by halting the os? Store and restore registers to the stack? Thanks for all in advice, ThomasLink Copied
0 Replies

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page