- Math library
- Supported chips
IntroductionWelcome to the CC5X C compiler for the Microchip PICmicro family. The PIC microcontrollers are popular for cost critical applications. The CC5X C compiler was designed to enable best possible usage of the limited code and RAM space offered by PICmicro devices. The priority was not to provide full ANSI C support, but to generate compact and optimized code.
The PICmicro architecture is efficient compared to the load/store approach used by many other microcontrollers and microprocessors. However, the bit and page bit updating represent a challenge for the programmer when writing PICmicro application code. The CC5X compiler offers automatic updating of these bits, using advanced optimization to save code space compared to simpler compiler implementations.
Local variables are supported. The CC5X compiler performs a safe compression by checking the scope of the variables and reusing the RAM locations when possible. The limited RAM space is therefore used efficiently. Interrupt support can be tricky. The CC5X compiler allows every statement to be written in C code. The CC5X compiler can extend the call level restrictions by using GOTO statements when possible. This feature is almost required for the 12 bit core devices having 2 call levels only.
All midrange devices (PIC16/PIC12/PIC10) are supported through header files. The inline assembly capabilities allows existing assembly routines to be included in new C applications.
Version 1.0 of CC5X was released in April 1992 and was probably the first C compiler for PICmicros. The free compiler edition can be downloaded and tested.
Programming in C gives you the following advantages:
The CC5X compiler was written with code efficieny as the main goal.