T
tns1
Guest
QuartusII 4.0 SP1, SOPC builder with Nios 3.2, Cyclone C4.
I have the Nios32 @ 30mhz working fine with my user logic modules, but
any ISR I try works a random number of times (1 to 30 times?) and then
stops getting called. By bringing out some internal signals to pins, I
can see that the irq signal from my module is asserted, but the ISR just
does not get called. This is the first time I have tried using Nios
interrupts, but I am getting it straight from the examples.
As a test, I wrote an ISR that just increments and prints a count value,
and does not clear the interrupt. There is no foreground code other than
installing the vector and enabling interrupts. I would expect my ISR to
get called indefinitely, (context save, execute, context restore), but
it just works a random # of times and stops.
This is the only handler I have installed, but I know the spurious
handler is installed by default (it works), as well as the CWP handler
(dont know if it works - how to test?). The behavior suggests
stack/memory corruption from the context save/restore. I don't re-enable
interrupts in my ISR, so I don't expect nested interrupts.
I have seen weird behaviors whenever the systhesis does not match the
assembled libraries used to compile (forgot to use 'Generate'), but I
have triple-checked. Any ideas/new errata?
I have the Nios32 @ 30mhz working fine with my user logic modules, but
any ISR I try works a random number of times (1 to 30 times?) and then
stops getting called. By bringing out some internal signals to pins, I
can see that the irq signal from my module is asserted, but the ISR just
does not get called. This is the first time I have tried using Nios
interrupts, but I am getting it straight from the examples.
As a test, I wrote an ISR that just increments and prints a count value,
and does not clear the interrupt. There is no foreground code other than
installing the vector and enabling interrupts. I would expect my ISR to
get called indefinitely, (context save, execute, context restore), but
it just works a random # of times and stops.
This is the only handler I have installed, but I know the spurious
handler is installed by default (it works), as well as the CWP handler
(dont know if it works - how to test?). The behavior suggests
stack/memory corruption from the context save/restore. I don't re-enable
interrupts in my ISR, so I don't expect nested interrupts.
I have seen weird behaviors whenever the systhesis does not match the
assembled libraries used to compile (forgot to use 'Generate'), but I
have triple-checked. Any ideas/new errata?