This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: cross-compiler for PICmicros


>  I'm aware of TWO GCC-ports for m68hc11/12, the second
> having support for m68hc16 too...
> 
>  The Stephane Carrez one uses ELF, the another, Real-Time Systems ? one
> uses COFF...

The Real-Time Systems Inc. HC11/HC12/HC16 GCC port can be found at

        http://www.realtime.bc.ca/realsys/gnu-hc1x.html

Unlike some other small-micro gcc ports, ours does not use RAM locations to
simulate a large CPU register set.  Our port instead forces gcc to work
within the limitations of the HC1x register set (one or two accumulators,
and two or three pointer registers).  This method has positive implications
for interrupt latency and function call cost, since there is no bank of RAM
locations to save, but has negative implications for stack size, since local
variables and temporaries end up on the stack.

The minimum register set for our approach is probably that of the HC11:  one
accumulator ("D"), one index register ("Y"), and a frame pointer ("X"), all
16-bits wide.  I can't see anything less than that working.

If, on the other hand, you simulate a larger register set using RAM
locations, you could get away with almost any CPU.

I'm not as familiar with the PIC processors as I used to be, but the really
small ones probably would be very difficult since they simply don't have
very much RAM.  The larger PIC's might work, especially if they have a real
stack in RAM.

If you'd like some help with your port, please feel free to drop us a line.

Regards,

David Querbach
Real-Time Systems Inc.

------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]