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