Technical information
Operating Precautions for CPDW9X/NT-CDR-V85X, Y-GHS-MULTI-V800
TM
Customer Notification r20tu0003ed1812 52
No. a36
EP is not restored in ISR that calls func_ptr
Workaround
1. Compile with –no_prepare_dispose
2. Call a dummy function directly in the interrupt function. NOTE: this function may be optimised
away when the option -Ospace is used.
extern void (*const table[])(void);
void dummy(void) {}
void interrupt()
{
dummy();
table[0]();
}
3. Compile with the option –tda and put a dummy assignment to a TDA variable in the interrupt
function.
extern void (*const table[])(void);
#pragma ghs starttda
char dummy;
#pragma ghs endtda
#pragma ghs interrupt
void interrupt()
{
dummy = 0;
table[0]();
}










