Technical information
Operating Precautions for CPDW9X/NT-CDR-V85X, Y-GHS-MULTI-V800
TM
Customer Notification r20tu0003ed1812 36
No. a26
"-no_callt" option caused wrong restore value for register R2 within ISR
Version Information
V3.5.1
Details
By using -no_callt option, a wrong value for register R2 is restored from stack
within interrupt service routine.
Example:
test.c:
volatile unsigned int foo;
void main(void)
{
asm("mov 0x5a5a5a5a,r2");
EI();
while(1)
{
}
}
#pragma ghs interrupt
void timer(void)
{
foo++;
}
Command Sequence
ccv850e -c -noobj -g -no_callt -no_inline_prologue v040130a.c
ccv850e -c -g startup.850
ccv850e locate.ld -entry=_reset -no_callt startup.o v040130a.o -o v040130a
Workaround
A new compiler (PATCH to 3.5.1b4), which fixes this problem, can be downloaded from the NEC
WEB page(s) at http://www.renesas.eu/updates?id=443










