Version 3.5G
Copyright (c) B Knudsen Data, Norway, 1992 - 2016.
Supports midrange PICmicro devices:
12 bits core : PIC10, PIC12, PIC16C5X
14 bits core : PIC12, PIC14, PIC16
Long experience: In use by professionals since 1992.
==> CC5X supports the Enhanced 14 bit core and the Enhanced 12 bit core.
==> MPLAB X support is available.
A FREE edition of CC5X is available, without code size limitations.
CC5X now supports the new PIC16F18857 and PIC16F18877 with 4k RAM (also supported by the free edition).
The PIC18 devices are supported by CC8E.
Math library support. Fixed and floating point math is available. Floating point math (16, 24 and 32 bit) includes functions like log(), exp(), sin(), cos(), sqrt(). The libraries are compact and significant space can be saved compared to the assembly floating point libraries from Microchip.
Linker support: C and assembly modules can be linked together using MPLINK.
Standard C strings and constant data. The type modifier 'const' allows constant data and strings to be stored in program memory using standard C syntax. Pointers to 'const' data is supported. Pointers of 8 and 16 bit can be used in the same application.
Are you waiting for coming features? The included 12 months update agreement ensures that you get free updates on your license during the following 12 months after purchase (see prices page).
Free updates can be downloaded on the same page that contains the initial installation program for your license. The link to this page is found in the mail containing the license file and download instructions.
Multitasking support using state machines is available. Many highly reliable and complex systems are built using state machines, for instance in telecommunications. A normal RTOS can impose unpredictable response delays. State machines are predictable, fast and allows the maximum delay to be calculated. So, try state machines and discover how you can use PICmicros for complex real time control jobs.
Compact code and efficient RAM usage are the outstanding features of CC5X. The compiler has been and is still leading in generating compact code. Variables up to 32 bit is supported, including bit variables and bit functions. CC5X is suited for real-time applications requiring strong control of the generated code. The code can be inspected in the comprehensive assembly file produced.
Code savings of 20-30% compared to other C compilers have been reported. For example, the ping.c program found on the Microchip Internet site was reduced from 2170 to 1699 instructions when porting it to CC5X. That is a saving of 471 instructions.
CC5X was designed to enable very efficient usage of the limited code and RAM space, with the ease of C programming instead of assembly.
CC5X is the right choise if you want to write high performance applications with similar or better compactness than assembly. Unfortunately CC5X is not up to the ANSI C level, so you must be prepared to simplify complex expressions into statements that can be compiled to efficient code. But that is a minor price to pay compared to all the benefits.
Feedback from a professional user in Germany: "I really like this (CC5X) compiler, actually Iam using the HI-TECH-Compiler for an PIC17C756 and I am not happy about the generated code. For all other PIC16Cxxx i use the CC5X."
And from England: "As most of my coding relies on your compiler, which I've used for well over 100 commercial projects, I look forward to seeing the results of your efforts. Keep up the good work."
A new user from Australia: "The reports I have is the product is very solid and this is a major reason for choosing this compiler"
Feedback from a developer who have evaluated several compilers: "Wonderfull ! I'm a professional PIC & Windows programmer and I'm sure this is the BEST C compiler for PIC (12 & 14-bit) in the world ! I've been searching for a PIC compiler for about three months and analized thoroughly all available like MPC, MPLAB-C, MPLAB-C17, MPLAB-C18, C2C (Baranov), PICC (Hi-Tech), PCB-PCM-PCW (CCS) & others. Go on the same way (I mean PIC18 support & IO library) and you'll be the unconditional leaders !"
A downloader and RT-monitor is available for the FLASH PIC16F87X devices. The code size for the downloader is as low as 420 instructions. It downloads INHX8M hex files, even from long distance. It can be used during debugging or for preparing the application firmware for future upgrades.
Separate compiler products:
A special CC5X edition supports custom ASIC's using DxPIC cores from Digital Core Design.
CC8E: 16 bit core : PIC18 (free compiler available)
CC7A: 16 bit core : PIC17 (demo compiler available)
Old beta compilers:
CC1B: 12 bit core : Ubicom SX (demo compiler available)
CC6H: 14-16 bit core : Holtek HT (demo compiler available)
Main features:
Supports all midrange PICmicro devices (12 and 14 bit core): PIC10, PIC12, PIC14, PIC16
Generates tight and optimized code
Local and global variables of 1, 8, 16, 24 and 32 bits
Floating and fixed point math up to 32 bits
Automatic update of the page and bank selection bits
Efficient reuse of local variable space
Extended call level by using GOTO instead of CALL
New chip definition files can be created
Enhanced and compact support of bit operations, including bit functions
Math libraries including functions like sin(), log(), exp(), sqrt(), etc.
Standard C constant data and strings in program memory (const)
Automatic storing of compressed 7 bit data on devices supporting program memory reading, i.e. PIC16F87X and similar
Pointer models of 8 and 16 bits, mixed sizes in same application allowed
RAM and/or ROM pointers
The size of single pointers can be automatically chosen by the compiler
Relocatable assembly and linker support (MPLINK), interfaces with assembly (MPASM) modules
Automatic links to "hidden" subroutines in the PIC16C5X chips
Inline assembly
Generate single assembly instructions through corresponding C statements
Integrated interrupt support
Device configuration bits in source code (like oscillator type, code protection, etc.)
Generated files:
Hex file: for chip programming
Assembly file: for inspection, or input to assemblers
List file: for inspection
COD file: for debugging using MPLAB
COF file: for debugging using MPLAB X
Error file: list warnings and errors
Function outline: for inspection of the call structure
Variable file: for inspection of variable addresses
Compiler output file: summary of code and RAM usage
Preprocessor output file : for inspection of source after preprocessing
More details:
A RAM allocation map is generated
Multiplication, division and modulo
Structures and unions, bitfields, typedef
Typecast
Arrays and pointers
Direct bit manipulation
Many parameters in function calls
COD file generated for debugger and MPLAB support
Preprocessor offering macro's, conditional compilation and include files
The generated assembly file includes symbolic names and the C source code. Many options allows the format to be adapted to suit different needs
Binary constants: 0b01011000
Support for ICD debugging
Complete header file list
Edition | EXTENDED | STANDARD | FREE |
Free full update period | 12 months | 12 months | - |
Support | Yes | Yes | - |
Full code size | Yes | Yes | Yes |
Leanslice multitasking | Yes | - | - |
Linker support (MPLINK) | Yes | Yes | Yes |
PIC10/12/14/16 | Yes | Yes | Yes |
PIC17/18 | - | - | - |
Full optimization | Yes | Yes | Limited |
Enhanced 12 bit core | Yes | Yes | - |
Enhanced 14 bit core | Yes | Yes | Limited |
Devices with 4k RAM | Yes | Yes | Yes |
8 bit integer variables | Yes | Yes | Yes |
16 bit integer variables | Yes | Yes | Yes |
24 bit integer variables | Yes | Yes | - |
32 bit integer variables | Yes | Yes | - |
16 bit floating point | Yes | Yes | - |
24 bit floating point | Yes | Yes | Yes |
32 bit floating point | Yes | Yes | - |
8 bit fixed decimal point | Yes | Yes | - |
16 bit fixed decimal point | Yes | Yes | - |
24 bit fixed decimal point | Yes | Yes | - |
32 bit fixed decimal point | Yes | Yes | - |
© Copyright 2000-2023 COGITO SOFTWARE CO.,LTD. All rights reserved