Which PIC18 C Compiler? - Page 5

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
Re: Which PIC18 C Compiler?
At the place i'm contracting at, I have used the IAR compiler for the
TI MSP430, and the CCS compiler for the PIC. I also personally own the
Hi-Tech compiler.

I have not used the Hi-Tech compiler much, mainly because it is not
used at work. However, I do know that the Hi-Tech compiler is pretty
stable. It doesn't really have any libraries to run the PIC's
peripherals (e.g. spi, i2c, uart, etc.), but it's a good thing I
guess. I have not heard of many bugs as far as the C-compilation goes.

IAR has a nice GUI. I don't know though how optimal the code is
though, compared to the Hi-Tech or CCS compilers.

Which leads me to the CCS compiler. I have mixed feelings on this one.
They do offer a lot of releases, sometimes every two weeks or so. This
is to be expected since they have a lot of functionality to offer in
terms of library functions. They also keep up-to-date with PIC
programming erratas on a timely basis. Sometimes, however, they end up
breaking something every few releases, and need to release again. That
is why I keep separate folders for each release, in case something
gets broken that affects me. Usually it doesn't affect me, but there
is always someone out there whose previously running software gets
broken by each new release.

-Mike





 

snipped-for-privacy@yahoo.com (David L. Jones) wrote in message
Quoted text here. Click to load it

Re: Which PIC18 C Compiler?
On 8 Jul 2004 22:32:36 -0700, snipped-for-privacy@yahoo.com (David L. Jones)

Quoted text here. Click to load it

I've used both HiTech and CCS compilers and prefer the CCS.  The
main reason is that at the time HiTech operated in a DOS window and
you could only see something like 14 lines of code at a time and long
comments would extend past the limits of the DOS window.  I am using
CCS now with both 16 and 18 series PIC microcontrollers with no
problems.  The issue of CCS not using the actual register names
is a disappointment but is remedied by creating a header file that
assigns those names.  This is how HiTech does it--you just have to
provide the file yourself if you use CCS and want to use the register
names verbatim.  I used the HiTech header file as a guide to create
one for CCS.

TP


Re: Which PIC18 C Compiler?
In my opinion the IAR, Hightech and CCS compilers are all good
compilers with each one having it's strong and weak points.

The Hightech and IAR compilers are made by companies that also make
compilers for other processors. Very likely the processor variants
have a shared code base and many programmers working on it. This
results in high quality code as a bug found for one processor will be
fixed for all. So these two are professional compilers with linker and
locater as you know them from other environments. Prices are
professional too... :-(

The CCS compiler is a whole other kind of compiler, it is designed
specifically for the PIC processor and is growing with the development
of the PIC family. The PIC processor is not a standard kind of
processor and because the CCS compiler was designed specifically for
the PIC it can create sometimes more optimized code than the other
compilers can.

Which one to choose?
The PIC processor was not designed to support C, for example it's
missing a stack for automatic variables, so any C compiler will have
to create some work arounds that are difficult to work with in the
beginning.
You can choose either one of the mentioned compilers based on personal
favor and available budget. I personally like the CCS compiler, mostly
because of the low price and good support from the user's forum and
quick response to bug reports.
My department has done about 10 different small projects with the CCS
compiler and PIC16 and this worked great. Now we are doing a larger
project with the PIC18 and we are still happy with CCS.

Just one important note: On the CCS website you can download two
versions of the compiler: The latest release, and an older release.
CCS is not mentioning why they offer two different versions, but this
is because the older version is a proven stable release while the
newest release is more like a beta release. Use the latest version
only if you need the new funtionality. For a stable environment stick
to the last stable release, currently 3.191.

Re: Which PIC18 C Compiler?
What about the SDCC compiler?
It has a port for PIC18 processors called pic16 port.

Its in development yet, but it can handle simple projects.
URL: http://sdcc.sourceforge.net


Also there is the gputils package providing assembler, linker
and librarian.
URL: http://gputils.sourceforge.net


Both compile under Windows/Cygwin/Mingw installations (SDCC compiles
under MSVC too...)


Vangelis Rokas



Quoted text here. Click to load it



Re: Which PIC18 C Compiler?
What about the SDCC compiler?
It has a port for PIC18 processors called "pic16" port.
(pic16 stands for 16-bit core devices)

Its in development yet, but it can handle simple projects.
URL: http://sdcc.sourceforge.net

Also there is the gputils package providing assembler, linker
and librarian.
URL: http://gputils.sourceforge.net


Both compile under Windows/Cygwin/Mingw installations (SDCC compiles
under MSVC too...)


Vangelis Rokas




Quoted text here. Click to load it

Re: Which PIC18 C Compiler?
Quoted text here. Click to load it

I just finished a pretty large project (15K lines of C on a
PIC18F8720) using the CCS pic18 compiler (PCH). It worked pretty well.
I only found two bugs that could be blamed on CCS. The compiler is not
standard C, but it's close enough that you will be able to get coding
pretty quickly. It helps to look at the code it generates for your
program, and to try to understand why it does some things the way it
does.

If you are not set on using the ICD2, I'd look at the CCS PCW package.
It includes support for their ICD firmware (which you can run on an
old Microchip ICD1, or you can buy an ICD from them for about $75).
The whole package makes for a very nice source level debugger.

PCH seems to generate pretty tight code. When I have some free time
(hah) I'm going to try running my code thru the Microchip C18 compiler
(they have a time-limited trial version) and see which is more
efficient. I'm also curious to see how much I'll have to change my CCS
code to get it to run on C18. Developing a set of macros and defines
that allows development with either compiler would be handy.

I don't have any vested interest in CCS other than being a reasonably
happy customer.

Mark Hahn

Re: Which PIC18 C Compiler?

Quoted text here. Click to load it

I am wondering why you choose the 18 series PICs at all. I suggest to
use the Atmel AVR flash MCU for development in c language.  I think
the Atmel parts offer better value for money and are very well suited
to c language.  Imagecraft sell a very efficient ansi C compiler for
the AVR for $200.  I can't recommend this highly enough.

best regards,
Johnny.

 




Re: Which PIC18 C Compiler?

Quoted text here. Click to load it
parts
get.

Why stick with eight bit if he's going to
consider a change ?

Most of the new and just to be released arm7 parts from
Philips, Atmel, Analog, ST and others
are around the same price in small quantity as pics and other 8 bitters.

Philips -lpc2000
http://semiconductors.philips.com/catalog/219/282/45988/45993/index.html#45993

Analog
http://www.analog.com/IST/SelectionTable/?selection_table_id21%2
http://www.analog.com/Analog_Root/sitePage/mainSectionHome/0,2130,level4%253D%25252D1%2526Language%253DEnglish%2526level1%253D117%2526level2%253D140%2526level3%253D%25252D1,00.html

Atmel Sam7
http://www.atmel.com/dyn/products/product_card.asp?part_id33%97

ST
http://www.st.com/stonline/products/support/micro/arm/str7.htm

eg
http://semiconductors.philips.com/pip/LPC2106.html
philips lpc2106  128KB flash 64KB ram  60MHz , 2x usart, spi, I2C, 6x pwm ,
also available in  -40 to +85

http://semiconductors.philips.com/pip/LPC2129.html
philips lpc2129  256KB flash 16KB ram 60MHz 4x 10 bitADC, 2x usart, spi,
I2C, 6x pwm,
 2x CAN  ,  -40 to +85


philips supposedly  to release a chip next year with usb and another with
ethernet

link to dev tools
http://semiconductors.philips.com/markets/mms/products/microcontrollers/support/development_tools/tools_by_family/arm7tdmi/index.html

choice of compilers around about 15 or so with more on the way

gcc

arm - ads
IAR
Green hills
keil own compiler still beta, currently supply repackaged gcc
Apogee
Intel
Microsoft  for windows ce
Metaware
TI
WindRiver

compilers on the way
Borland, Imagecraft

Alex



Site Timeline