MPC
Something SPECIAL: put variables anywhere
18037 | MPC | tipsByte Craft Limited's compilers support SPECIAL memory: user-declared memory blocks accessed (read and written) by software. The compiler manages allocation for SPECIAL memory similarly to system RAM and ROM. The result is a seamless integration of off-chip or on-chip memory resources into C language programs.
MPC version 2.0
MPCWe'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 | PICMPC 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
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
MPCHere 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
MPCThe 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
MPCIf 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.
Ordering
C38 | C6805 | C6808 | COP8C | eTPU_C | Fuzz-C | MPC | ordering | SXC | Z8COrder directly from Byte Craft Limited by:
-
Telephone: +1-519-888-6911
-
Email: sales@bytecraft.com
Our offices are open 8:30am to 5:00pm, Eastern Time.
MPC - Constant ROM Arrays
MPCArrays 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
MPCThis 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.

eTPU_C:
C6808: