Re: PIC 16Cxx Compilers

clyde@hitech.com.au (Clyde Smith-Stubbs)
Mon, 8 Feb 1993 00:50:05 GMT

          From comp.compilers

Related articles
Compilers for Microchip PIC16C5x nzkite!foster@gvls1.VFL.Paramax.COM (1993-01-29)
PIC 16Cxx Compilers manningc@procor.dialogic.com (1993-02-04)
Re: PIC 16Cxx Compilers clyde@hitech.com.au (1993-02-08)
| List of all articles for this month |
Newsgroups: comp.compilers
From: clyde@hitech.com.au (Clyde Smith-Stubbs)
Keywords: tools
Organization: HI-TECH Software, Brisbane, QLD, Australia.
References: 93-02-015 93-02-043
Date: Mon, 8 Feb 1993 00:50:05 GMT

manningc@procor.dialogic.com (Charles Manning) writes:


>I've had a bit of experience with PICs and HLL's on other
>microcontrollers. Sorry, but I don't think HLL's are feasible for PIC
>16Cxx family.


I don't agree - I have looked briefly at the PIC and believe that it is
just as suitable as the 6805 as the target of a C compiler. We recently
completed a C compiler for the 6805 that implements full ISO Standard C,
with the only restrictions being on recursion and re-entrancy, forced by
the non-addressability and small size of the stack.


This limitation is not important for embedded applications, and in all
other respects the compiler implements Standard C (non-hosted), including
longs, floats and printf. Code quality (== density) is quite close to hand
written assembler, with the advantage that on the odd occasion that
something like floating point is needed, it is available in the library.


At the present time I don't believe a compiler for the PIC chips exists,
but we are considering doing one. There is an astonishly high level of
demand for the 6805 compiler, but I am not sure how widely the PIC chips
are used.


>Even shoehorning C into a 8051 has taken the industry quite a while to get
>anywhere near to useful.


Yes, it took a while, but current 8051 compilers are very useful. The 8051
is complicated by having no less than seven (7!) distinct address spaces.


By way of example of the practicality of C on an 8051, one of our
customers recently completed a GPS receiver using an 8051, with 99% of the
code written in C. It uses trig functions intensively, and is claimed to
outperform a competitive GPS receiver using an 8086 processor.


Using a high level language on a low-level embedded processor makes a lot
of sense, especially when the code will need to be modified later, or the
number of units to be produced is small. There also seems to be a tendency
for engineers to want to use C because they know it, and don't want or
can't afford the time to learn to program a new chip at assembler level.


Given the quality of compilers now available for these chips, this is a
very realistic approach.
--
  Clyde Smith-Stubbs | HI-TECH Software, | Voice: +61 7 300 5011
  clyde@hitech.com.au | P.O. Box 103, Alderley, | Fax: +61 7 300 5246
  ...!nwnexus!hitech!clyde | QLD, 4051, AUSTRALIA. | BBS: +61 7 300 5235
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.