Electronics > Microcontrollers

Microchip C Compilers - which free compiler do you use?

(1/2) > >>


I would like to get into using PIC MCUs. I have mainly used AVR in the past using avr-gcc which is free.

I was wondering what people are using out there with regards to PIC compilers which are free. From what I can see:

MPLAB C - doesn't work for PIC12/16, but for the other devices it supports, some optimisations are crippled after 60 days
HiTech C - free version has crippled optimisations
CCS - not free

What do you guys use? Are you paying, or just live with the crippled features? Is the disabled optimisations versions still okay for general projects?


I recommend beginning with the 16 bit PIC (24H/24F/30F/33F series). The GCC derived compiler for those parts that is part of MPLAB is much more like AVRGCC than any of the compilers for the 8 bit PICs.

The Microstick is a nice low cost way to get stared with the 16 bit PICs. It has an integrated programmer and debugger, so you don't need any additional hardware to get started.

Is there a specific reason you want to switch to PIC?

For free tools, AVR is much better. I used SDCC for PIC before, but it's fairly limited and buggy. According to friend that's a PIC assembly expert, it also generates very un-optimal code.

If you want more power, ARM (ARM7/ARM9/Cortex) is another platform with great open source tools.

I have used Hitech free version for 12F and 16F pics, and I am currently working with C18 trial compiler on 18F2685 chip, mainly due to the fact that Microchip TCP IP stack natively supports it.

Both are fine for me, altough I sometimes hit syntax limitations in these compilers,probably  being "spoiled" with C++ uni education :)

For me personally free version of both are fine, I tend to lean toward Hitech, but that's just because I started with it in the first place. IMHO, for general type of personal projects I would recomend free versions, optimisations come in to play with big number theory, penny saving and micromanagement.

I use the following compilers:
PIC10/12: MPASM (Assembler)

The only issue I have with the free limited versions is when I want to compile the bootloader program for some micros.

If I need a fully optimized (for speed or time execution) function, I write it in assembly.


[0] Message Index

[#] Next page

There was an error while thanking
Go to full version