Hello all,
First of all thanks and congratulations for providing us all such capable
open source compiler for small devices.
I experienced some strange behavior when trying to assign values to
dereferenced pointers in my programs. I decided to post here since I could
not find similar messages in the lists, forums, bug reports, Changelog, etc.
My apologies if this regards to some previously solved /reported problem (or
problem with my code).
Here follows the relevant code:
void main(void)
{
unsigned char c = 0x34;
unsigned char *p;
p = &c;
p = 0x12;
(...)
There is no error messages when compiling but if I test *p after the last
line of code above it seems to be neither 0x12 nor 0x34! If I remove the
last line then both *p and c seem to store the same 0x34 value.
I tried to check the generated asm file, and I had a look at gptrput1.c but
I could find no mistakes.
My target is the PIC18F1220, programmed using ICD2 (through serial port) and
Piklab.
More details about my setup bellow:
$ sdcc -v
SDCC : mcs51/gbz80/z80/avr/ds390/pic16/pic14/TININative/xa51/ds400/hc08
2.6.3 #4555 (Jan 4 2007) (UNIX)
$ gpasm -v
gpasm-0.13.3 beta
$ piklab -v
Piklab version: 0.12.2 (rev. distribution)
Qt: 3.3.6
KDE: 3.5.5
Piklab: 0.12.2
Piklab compiling log shows:
sdcc -mpic16 -p18f1220 -V --debug -I/directory-here/
-Wl-opointertest.hex-Wl-m -Wl-ainhx32
pointertest.c
message: using default linker script "/usr/share/gputils/lkr/18f1220.lkr"
+ "/usr/local/bin/sdcpp" -nostdinc -Wall -std=c99
-I"/home/guerra/Desktop/ecobe-firmware/" -Dpic18f1220 -D__18f1220
-DSTACK_MODEL_SMALL -obj-ext=.o -DSDCC_MODEL_SMALL -DSDCC=263 -DSDCC_pic16
-D__pic16 -I"/usr/local/bin/../share/sdcc/include/pic16"
-I"/usr/local/share/sdcc/include/pic16" -I"/directory-here/" "pointertest.c"
+ "gpasm" -DSDCC_MODEL_SMALL -Dpic18f1220 -D__18F1220 -DSTACK_MODEL_SMALL -g
-c "pointertest.asm" -o "pointertest.o"
+ "gplink" -I"/usr/local/bin/../share/sdcc/lib/pic16"
-I"/usr/local/share/sdcc/lib/pic16" -opointertest.hex -m -ainhx32 -w -r -o
pointertest pointertest.o crt0i.o pic18f1220.lib libsdcc.lib
Any help appreciated.
Cheers,
Rodrigo da Silva Guerra
PhD Student
Department of Adaptive Machine Systems
Graduate School of Engineering
Osaka University - Japan
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user