The Byte Craft MPC C compiler supports the Microchip PIC 12/14/16/17 microcontroller families, including 8K and flash parts.
Operating System Support
The MPC Code Development System includes:
- an optimizing PIC C-Compiler.
- the BCLink linker.
- an Integrated Development Environment and editor.
- a built-in PIC macro cross-assembler.
PIC C Compiler Features In Detail Other features of the Microchip PIC Code Development System include:
- part-specific header files describe the unique features of each PIC target device.
- compiler configuration using #pragma directives.
- PIC ports are declared and protected using the #pragma port series of directives
- the #pragma vector directive specifies the location and assigned name for PIC interrupt sources.
- BClink Linker links object files and libraries compiled with the PIC C-compiler mpc.exe
- PIC object libraries can be included directly in C source files using Absolute Code Mode
- named address spaces support the grouping of variables at specific memory locations
- SPECIAL address space declares variables at special locations such as external devices or internal EPROM
- LOCAL address space allows you to use local variables
- extensions to the C language designed specifically for the PIC embedded systems developer. Some extensions include bit-sized data types, binary constants, extended case statements, direct variable placement with the @ symbol, and support for processor-specific functions.
- interrupt handler support in C; makes context saving and restoring easy.
- data types include:
- _Bool, bits
- char, short, int, long
- float, float24, float32
- int8, int16, int24, int32 (unambiguous ints)
- C99 unambiguous data types: uintx_t, intx_t
- register-oriented types for direct access to processor registers when necessary
- selectable 8- or 16-bit int data type.
- packed bit fields in structs.
- include single and multiple lines of inline assembly within a C program with the #asm and #endasm directives
- extensive control over computer-generated initialization.
- generates source-level information required for PIC emulators.
- support for transparent PIC data bank switching
- support for PIC program memory page switching
- can call a function located anywhere in memory in the PIC 12-bit core, not just in the bottom half of the memory page
- support for PIC hardware registers, including setting configuration fuses
- PIC libraries including:
- math libraries for all PICmicro families
- delays for PIC16C5x and PIC16cxx
- asynchronous serial routines for PIC16C73/74 and PIC17cxx
- 4- and 8-channel A/D
- EEPROM access routines
- optional 32-bit result of 16 x 16 multiply
- use with Microchip MPLAB
- source-level debugging with Microchip's PICMASTER emulator system, ICE 2000 emulator, MPLAB-SIM simulator system, Advanced Transdata, Tech-Tools Mathias Clearview
Country of Origin: Canada