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 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.
"Extended Instruction" errors
If you've received an error message like this:
please consider upgrading to version 7.50 of MPLAB. See Microchip's website for more information.
Here is an example of setting configuration fuses on the PIC16Cxx using the #pragma __CONFIG directive: All configuration parameters are ORed together:
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.
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.
Order directly from Byte Craft Limited by:
Our offices are open 8:30am to 5:00pm, Eastern Time.
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.
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.