This
integrated C development environment gives developers the capability
to quickly produce very efficient code from an easily maintainable
high level language.The compiler includes built-in
functions to access the PIC
microcontroller hardware such as READ_ADC to read a value from the
A/D converter. Discrete I/O is handled by describing the port characteristics
in a PRAGMA. Functions such as INPUT and OUTPUT_HIGH will properly
maintain the tri-state registers. Variables including structures
may be directly mapped to memory such as I/O ports to best represent
the hardware structure in C.
The microcontroller clock speed may be specified in a PRAGMA
to permit built in functions to delay for a given number of microseconds
or milliseconds. Serial I/O functions allow standard functions such
as GETC and PRINTF to be used for RS-232 like I/O.
The
hardware serial transceiver is used for applicable parts when possible.
For all other cases a software serial transceiver is generated by
the compiler. The standard C operators and the special built in
functions are optimized to produce very efficient code for the bit
and I/O functions.
Functions may be implemented inline or separate, allowing to
optimize for either ROM concerns or speed concerns. Function parameters
are passed in reusable registers. Inline functions with reference
parameters are implemented efficiently with no memory overhead.
During the linking process the program structure, including the
call tree, is analyzed. Functions that call one another frequently
are grouped together in the same page segment. Calls across pages
are handled automatically by the tool transparent to the user. Functions
may be implemented inline or separate. RAM is allocated efficiently
by using the call tree to determine how locations can be re-used.
Constant strings and tables are saved in the device ROM.
The output hex and debug files are select-able and compatible
with popular emulators and programmers including MPLAB IDE for source
level debugging. PCW includes a powerful Windows IDE. The compiler
requires Microsoft Windows 95, 98, ME, NT4, 2000 or XP.
CCS C Compiler Features:
- Built in libraries that work with all chips for RS232 serial
I/O, I2C, discrete I/O and precision delays.
- Integrates with MPLAB IDE and other simulators and editors
for source level debugging. Standard HEX file and debug files
ensure compatibility with all programmers.
- Formatted printf allows easy formatting and display in HEX
or decimal.
- Efficient function implementation allows call trees deeper
than the hardware stack.
- Source code drivers included for LCD modules, keypads, 24xx
and 94xx serial EEPROM's, X10, DS1302 and NJU6355 real time
clocks, Dallas touch memory devices, DS2223 and PCF8570 serial
SRAM, LTC1298 and PCF8591 A/D converters, temperature sensors,
digital pots, I/O expander and much more.
- Access to hardware features from easy to use C functions,
timers, A/D, EEPROM, SSP, PSP, USB, I2C and more.
- 1, 8, 16 and 32 bit integer types and 32 bit floating point.
- Assembly code may be inserted anywhere in the source and
may reference C variables.
- Automatic linking handles multiple code pages.
- Inline functions supported to save stack space; Linker will
automatically determine the best architecture or it can be manually
specified.
- Compiler directives determine if tri-state registers are
refreshed on every I/O or if the I/O is as fast as possible.
- Constants (including strings and arrays) are saved in program
memory.
- Standard one bit type (Short Int) permits the compiler to
generate very efficient Bit orientated code.
- #BIT and #BYTE will allow C variables to be placed at absolute
addresses to map registers to C variables.
- Reference parameters may be used to improve code readability
and inline function efficiency.
- PCW has both an integrated editor/compiler and command line
compiler.
- Special windows show the RAM memory map, C/Assembly listing,
and the calling tree.
- Interrupt functions supported on PCM/PCH. The compiler generates
all startup and clean up code as well as identifying the correct
interrupt function to be called.
- Plenty of ready to run example programs included.
- Updates via the internet for 30 days included.
|