CC5X C compiler for PICmicro


Introduction red_ball.gif (129 bytes)
- math library
- installation
- supported chips




Welcome 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 (PIC10/PIC12/PIC14/PIC16) 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:

  • Source code standardization: C is a source code standard, assembly is chip specific
  • Faster program development: C is compact and express the application logic clearer than assembly, with less bugs
  • Improved readability: C allows irrelevant and chip specific details to be hidden
  • Easier documentation: C enables less source code with better focus on application details
  • Simplified maintenance: the compiler can do much of the rework when renewing and extending the application. Assembly code may require significantly more work.
  • Portable code: C code can be ported to other devices with minimal modifications. Assembly code may have to be totally rewritten.

The CC5X compiler was written with code efficieny as the main goal.

End line