From: SourceForge.net <no...@so...> - 2004-12-29 04:19:54
|
Bugs item #1092528, was opened at 2004-12-28 22:47 Message generated for change (Comment added) made by jaimono You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1092528&group_id=599 Category: pic14 target Group: None Status: Open Resolution: None Priority: 5 Submitted By: Jaime Alberto Silva (jaimono) Assigned to: Nobody/Anonymous (nobody) Summary: Interrupt routine prologue vars not declared Initial Comment: In the attached code when I try to compile it gives me the following error: mono[ir_dongle]$ make sdcc -V -mpic14 -p16f84 -o ir_dongle.o ir_dongle.c Processor: 16f84 + "/usr/local/bin/sdcpp" -nostdinc -Wall -std=c99 -DSDCC=1 -DSDCC_MODEL_SMALL -DSDCC_pic14 -D__pic14 -I"/usr/local/bin/../share/sdcc/include/pic14" -I"/usr/local/share/sdcc/include/pic14" -I"/usr/local/bin/../share/sdcc/include" -I"/usr/local/share/sdcc/include" "ir_dongle.c" + "gpasm" -c "ir_dongle.asm" ir_dongle.asm:85:Error [113] Symbol not previously defined (WSAVE). ir_dongle.asm:89:Error [113] Symbol not previously defined (SSAVE). ir_dongle.asm:91:Error [113] Symbol not previously defined (PSAVE). ir_dongle.asm:102:Error [113] Symbol not previously defined (PSAVE). ir_dongle.asm:105:Error [113] Symbol not previously defined (SSAVE). ir_dongle.asm:107:Error [113] Symbol not previously defined (WSAVE). ir_dongle.asm:108:Error [113] Symbol not previously defined (WSAVE). make: *** [ir_dongle.o] Error 1 As you can see for some reason the variables in the prologue and epilogue of the interrupt routine are not declared. Here is the sdcc version: mono[ir_dongle]$ sdcc --version SDCC : mcs51/gbz80/z80/avr/ds390/pic16/pic14/TININative/xa51/ds400/hc08 2.4.7 #916 (Dec 28 2004) (UNIX) And my contact address is: mo...@oh... ---------------------------------------------------------------------- >Comment By: Jaime Alberto Silva (jaimono) Date: 2004-12-28 23:19 Message: Logged In: YES user_id=60015 I tryied to skip the bug by changing the isr to a naked function: static char ssave, wsave; static void interrupt_service_rutine () interrupt 0 _naked { _asm movwf _wsave movf STATUS,w movwf _ssave _endasm; if (!IR_RX) SET_IR_RX_DOWN; _asm movf _ssave,w movwf STATUS movf _wsave,w retfie _endasm; } And now the error is: mono[ir_dongle]$ make sdcc -V -mpic14 -p16f84 -o ir_dongle.o ir_dongle.c Processor: 16f84 + "/usr/local/bin/sdcpp" -nostdinc -Wall -std=c99 -DSDCC=1 -DSDCC_MODEL_SMALL -DSDCC_pic14 -D__pic14 -I"/usr/local/bin/../share/sdcc/include/pic14" -I"/usr/local/share/sdcc/include/pic14" -I"/usr/local/bin/../share/sdcc/include" -I"/usr/local/share/sdcc/include" "ir_dongle.c" ir_dongle.c:26: syntax error: token -> '_naked' ; column 58 ir_dongle.c:32: error 103: code not generated for 'interrupt_service_rutine' due to previous errors make: *** [ir_dongle.o] Error 1 So naked functions are also broken. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1092528&group_id=599 |