Introduction

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 (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.