> sdcc hangs on Win98SE during compilation.
> (proved on a desktop, and a notebook machine)
> gpasm is used as an assembler, but it
> did not run yet at the moment of crash.
Sorry, I do not have Win98 available to check this.
> 1. /sdcc/include/pic16/pic18f4550.h
> This family has TXCKP instead of SCKP in BAUDCON
> I understand. It's kept SCKP for compatibility, but
> the next bit - RXDTP - has to be named - for RX polarity.
Fixed in SDCC 2.6.4, r4573 along with some other naming
problems/missing definitions for the 2455/2550/4455/4550 family.
Feel free to report new errors/inconsistencies/missing items.
> 2. /sdcc/lib/src/pic16/libio/usart/uopen.c
> I see that this is for compatibility too, but
> do not forget the settings below:
> TRISCbits.TRISC6 = 1;
> TRISCbits.TRISC7 = 1;
> Consider to assign SPBRGH as well, not just SPGRG.
This is well true for the larger devices (e.g., 2455 family).
Unfortunately there is no way to do this independently of the target
device: SPBRGH is not implemented/defined on, say, 2220 devices, so
referencing it in the library will cause compilation or linking
The source file uopen.c says that the code is provided for the pic
18f families. Probably these should be removed/not be built
for the larger devices, or maybe we need two versions...
> 3. /sdcc/lib/src/pic16/startup
> Since startup code does not reflect to linker script
> CODEPAGE NAME=vectors START=0x800 END=0x829
> CODEPAGE NAME=page START=0x82A END=0x7FFF
> or --ivt-loc=0x800 either we had to do something...
> It seems quite ugly.. Do you have better solution?
Hmm, besides my proposal on your bug report (which does not work too easily): no.
> 4. Am I right that stdio is far far from beta?
> Are there any tricks to bring up v(f)printf?
You would have had to use
#pragma stack 0x200 0x100
to set up a larger stack: the default stack used to be 64 bytes, which is
insufficient for your purposes; I changed this to 256 byte in r4573.
Now your code should compile just fine. Please update from a nightly
snapshot (http://sdcc.sf.net/snap.php) or SVN.
> 5. Documentation issues on PIC 16 port
> --stack-model should be --pstack-model
Right you are, fixed as well.
Thanks for your reports!