MPC version 2.0

We're pleased to announce the availability of MPC version 2.0. MPC is a high-performance software development tool for the Microchip PICmicro family of microcontrollers.

The long-awaited MPC features 24- and 32-bit integer and IEEE floating point math support. Full LOCAL and SPECIAL memory support make programming very intuitive and very efficient.


MPC C Compiler for Microchip PIC


MPC supports the Microchip PIC 12/14/16/17 families, including 8K and flash parts.

The MPC Code Development System includes:

  • an optimizing C Cross-compiler.

  • the BCLink linker.

  • an Integrated Development Environment and editor.

  • a built-in macro cross-assembler.


MPLAB Configuration for MPC

"Extended Instruction" errors

If you've received an error message like this:

MPLAB error

please consider upgrading to version 7.50 of MPLAB. See Microchip's website for more information.


MPC - Setting Configuration Fuses

Here is an example of setting configuration fuses on the PIC16Cxx using the #pragma __CONFIG directive: All configuration parameters are ORed together:


MPC - Branch Islands on the PIC16C5x

The 8 bit address limitation of the 16C5x program counter imposes a restriction on the starting address of functions which presents added complexity. For example, on the 16C54 you cannot call a function that starts anywhere between 0x100-0x1FF as the 9th bit of the address in the CALL instruction is always 0.


Recommended update: MPLAB

If you use Microchip's MPLAB as an IDE for Byte Craft Limited's MPC Code Development System, we recommend you update MPLAB to a version no greater than 7.50.

This version promises to resolve an "extended instruction" error message that some users have reported to Byte Craft Limited. See this document for more details.

C38 C6805 C6808 COP8C eTPU_C Fuzz-C MPC SXC Z8C


| | | | | | | | |

Order directly from Byte Craft Limited by:

Our offices are open 8:30am to 5:00pm, Eastern Time.


MPC - Constant ROM Arrays

Arrays declared in ROM are often useful. They are typically used for lookup tables or messages shown on a display. MPC distinguishes ROM arrays from normal data memory arrays by the const data type modifier.


MPC - Named Address Space

This tip takes advantage of a useful new feature: named address space. The #pragma memory RAM directive allows you to define the RAM limits of your system. The newest version of MPC allows you to name up to 15 of these defined RAM areas. Naming address space allows for the grouping of variables. For example, variables used in timing-critical sections of code can be grouped in an area which does not require a bank switching instruction for access.

Syndicate content