Hi folks,

I'm new to PIC programming and sdcc (please forgive me if my question is a 
FAQ, but I don't believe so...)

I'm using :
SDCC : mcs51/gbz80/z80/avr/ds390/pic16/pic14/TININative/xa51/ds400/hc08 2.9.0 
#5416 (Aug 15 2009) (UNIX)
gpasm-0.13.7 beta (from latest Ubuntu packages)

I'm programming a PIC16F886 which has 8kB of program flash memory (0x0000 - 
0x1FFF)

The first steps of my project were compiling perfectly and running as expected 
on my PIC as well, so I was happy ;-)

But now my program grows, and as soon as its final machine code grew over 4kB, 
the compiler started spitting messages such as:

sdcc -mpic14 -p16f886 -V --debug -I/mydirectory/ -c myprog.c

myprog.asm:11063: message : Crossing page boundary -- ensure page bits are 
set.
myprog.asm:11077: message : Crossing page boundary -- ensure page bits are 
set.
myprog.asm:11091: message : Crossing page boundary -- ensure page bits are 
set.
myprog.asm:11107: message : Crossing page boundary -- ensure page bits are 
set.

+ "/usr/bin/sdcpp" -nostdinc -Wall -I"/mydirectory/" -obj-ext=.o -
DSDCC_MODEL_SMALL -DSDCC=290 -DSDCC_REVISION=5416 -DSDCC_pic14 -D__pic14 -
DSDCC_PROCESSOR="16f886" -isystem "/usr/bin/../share/sdcc/include/pic14" -
isystem "/usr/share/sdcc/include/pic14" -isystem 
"/usr/bin/../share/sdcc/include" -isystem "/usr/share/sdcc/include" -isystem 
"/usr/bin/../share/sdcc/include/pic" -isystem "/usr/share/sdcc/include/pic"  
"myprog.c" 
+ "/usr/bin/gpasm" -g -c "myprog.asm"
gpasm -c -I/mydirectory/ -w0 myprog.asm

(Blah-blah)
myprog.asm:11063: message : Crossing page boundary -- ensure page bits are 
set.
myprog.asm:11077: message : Crossing page boundary -- ensure page bits are 
set.
myprog.asm:11091: message : Crossing page boundary -- ensure page bits are 
set.
myprog.asm:11107: message : Crossing page boundary -- ensure page bits are 
set.

sdcc -mpic14 -p16f886 -V --debug -Wl-c -Wl-m -I/mydirectory/ -omyprog.hex 
myprog.o
using default linker script "/usr/share/gputils/lkr/16f886.lkr"

no target memory available for section "code_myprog"

+ "/usr/bin/gplink" -I"/usr/bin/../share/sdcc/lib" -I"/usr/share/sdcc/lib"  -
I"/usr/bin/../share/sdcc/lib/pic" -I"/usr/share/sdcc/lib/pic"  -c -m  -w -r -o 
myprog.hex   myprog.o  libsdcc.lib pic16f886.lib 
+ "/usr/bin/gplink" -I"/usr/bin/../share/sdcc/lib" -I"/usr/share/sdcc/lib"  -
I"/usr/bin/../share/sdcc/lib/pic" -I"/usr/share/sdcc/lib/pic"  -c -m  -w -r -o 
myprog.hex   myprog.o  libsdcc.lib pic16f886.lib  returned errorcode 256

*** Exit with code : 1 ***

I'm pretty sure there is no error in the code that would cause that. If I 
remove a couple instructions that allows the code to fit into 4kB, everything's 
allright. As soon as it grows beyond 4kB (0x0FFF), compilation fails as shown 
above.

However I would be more than happy to be able to use more than half of my 
PIC's flash...

Any clue would be greatly appreciated.

Thanks in advance.

-- 
Michel Bouissou


------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Sdcc-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to