From: Vangelis Rokas <vrokas@ot...> - 2004-09-13 22:06:38
Since version 2.4.4 #837 SDCC/pic16 port allows the compiling of source
with two mutual exclusive methods.
1. Compatibility method:
Until now a handy command line to build a source with SDCC/pic16 port was:
sdcc -mpic16 -p18f452 --pomit-ivt --pleave-reset-vector test.c -o test
This sequence of commands forced the compiler not emit the standard old
interrupt vector table, but to leave the reset vector in place so that
program could gain control after reset.
Of course one could build a source with out these two arguments but a
fixed IVT would be emitted that would render interrupt functions useless.
Now these arguments can be used only in conjuction with the new
'--no-crt' is a new command line argument that instructs the compiler not
link the run time module (crt0i.o by default) but to emit special code
(the same code used in previous versions), so that the program gains
control at reset.
2. New method:
In the new approach the compiler by default will link crt0i.o module
which is placed in pic16 library installation path (sources are placed in
device/lib/pic16/startup/ directory and default installation path is
/usr/local/share/sdcc/lib/pic16/ ). For this purpose no special command
argument should be given as in method 1, just the normal compilation
The user can select a different run time module from the available set
(crt0.o, crt0i.o, crt0iz.o) by using the options '--use-crt=<crt-module>'
<crt-module> does not need to contain the path, if the default
installation path is to be used.
For those who need it the page at:
has been updated with the latest pre-build libraries
The documentation is not updated yet but will be soon.