I want to enable nesting interrupt ,so descripted like below, but it's some times hangs (very rarely).
when it's hang. GIE in CSR is ='0' indicated. but I can't recognized why it is.
please someone drop me any hint .
volatile int tint0_csr;
volatile int tint0_irp;
volatile int tint0_ier;
interrupt void int_timer0(void)
{
int ttt;
tint0_csr = CSR; // here is GIE=0 automatically while ISR
tint0_irp = IRP;
tint0_ier = IER;
INTR_GLOBAL_ENABLE(); // enable interrupt for nesting
// some processing code (demo. dummy)
for(ttt=0;ttt<10;ttt++){
asm(" nop");
asm(" nop");
asm(" nop");
asm(" nop");
}
CSR = tint0_csr; // restore register and disable interrupt
IRP = tint0_irp; // restore register
IER = tint0_ier; // restore register
}