Nios IRQ lockup

I'm having trouble with a Nios processor that stops responding after an unpredictable time. It appears to be the result of liberally using interrupt enable/disable statements. These statements are in place to protect shared variables. However, I have some concerns:

  1. The register window (CWP) manager can generate an exception that won't be serviced if interrupts are disabled. It seems unlikely because there aren't many different interrupts to service - so not much save/restore.

  1. The Nios documentation doesn't provide guidelines for acceptable use of interrupt code (ISR written in C). For instance, can I make subroutine calls (stack is available)?

Compiled debug code is too large for my system memory so I am kind of stuck for debugging information.

I'd be glad to hear from anyone who has had similar problems or knows about the low-level behavior of Nios.

Thanks Matt

Reply to
Matt Grandison
Loading thread data ...

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.