I wanna know how to decide for a compiler to use with PIC 18F series in MPLAB. The microchip site shows some, but what is the criterion for choosing one over the other?
I use Microchips Mcc18 which is an Ansi C compiler and supports the Pic18f series very well. It is regulary updated to support new devices when they are released.
Microchip have also recently aquired Hi-Tech. So their compiler should also keep up to date with new devices. Both compilers integrate well into Mplab.
I dont think there is much difference in quality or size of produced code and speed of compile between modern C compilers. So integration with Mplab, support of new devices and Ansi C compliance is the criteria for choosing a compiler.
CCS compilers are aimed more at the hobby end of the market.
They do not include a linker, which makes it non Ansi compliant.
A linker allows the use of libraries, reusable code modules and program partitioning for large programs.
CCS does provide a lot of ready to use code modules for using a pics peripherals.
Good for small projects and rapid application development. But you end up learning CCS and not the inner workings of the micros.
just my opinion.
I use Hi-Tech Pro for the low/mid range Pic16,
Mcc18 for the Pic18 and MPLAB C30 for the 16-bit micros.
I also use MPLAB IDE.
The simulator is very good. It supports a subset of SCL, a scripting language for writing testbenches.