|
STEP 8 - PROGRAMMING
After the application has been debugged and is running in the development environment, it needs to be tested on its own. A device can be programmed with the in-circuit debugger or a device programmer.
When a device is programmed, the PIC® MCU or dsPIC® DSC device’s program memory, non-volitile memory data areas, ID bits and configuration bits are set according to the data and settings in the MPLAB associated memory windows and configuration dialogs.

MPLAB Configuration Bits Dialog
The target application can now be observed in its nearly final state. Engineering prototype programmers allow quick prototypes to be made and evaluated.
Some applications can be programmed after the device is soldered on the target PC board. Using In-Circuit Serial Programming™ (ICSP™), the firmware can be programmed into the application at the time of manufacture, allowing updated revisions to be programmed into an embedded application later in its life cycle.
Devices that support in-circuit debugging can be reconnected to the MPLAB REAL ICE, PICkit and MPLAB ICD after manufacturing, for quality tests and development of next generation firmware.
These programmers are available from Microchip to run with MPLAB IDE. MPLAB PM3 can also be run from a separate, simplified graphical user interface (Visual PROCMD), or from a command line program that allows MPLAB PM3 to be executed from a batch file (PROCMD3).
MPLAB PM3
- RS-232 or USB interface
- Integrated In Circuit Serial Programming™ (ICSP™) interface
– PC Host mode for full control
– Safe mode for secure data
– Standalone mode for programming without a PC
- Complete line of interchangeable socket modules to support all Microchip devices and package options (sold separately)
- SQTPsm serialization for programming unique serial numbers.
- An alternate DOS command line interface is available for batch control
- Secure Digital (SD) and Multimedia Card (MMC)
|

|
MPLAB® REAL ICE™
Although primarily a debugger, MPLAB REAL ICE serves as a programmer for those devices it supports as a debugger and also can program a number of additional Flash MCUs. MPLAB REAL ICE programs devices using Microchip's In-Circuit Serial Programming. As long as three pins can be driven properly, PIC MCUs and dsPIC DSCs can be programmed while soldered in-circuit. This allows for reprogramming of firmware after manufacturing the applications.
|

|
MPLAB ICD
Also primarily a debugger, MPLAB ICD can program many Flash MCUs. MPLAB ICD programs devices using Microchip's In-Circuit Serial Programming. As long as three pins can be driven properly, PIC MCUs and dsPIC DSCs can be programmed while soldered in-circuit. This allows for reprogramming of firmware after manufacturing the applications.
MPLAB ICD can also be used to test and debug a finished application using this simple interface, so many designers leave an ICD connector on the final application (or at least a place on the board where a socket can be soldered when needed) to be used for field debugging, firmware modifications, and manufacturing line testing.
|

|
PICkit Development Programmer/Debugger
PICkit™ Debug Express enables in-circuit debugging on selected PIC® microcontrollers. In-circuit debugging runs, halts and single steps the program while the PIC microcontroller is embedded in the application. When halted at a breakpoint, the file registers can be examined and modified.
|

|
Feature Comparison of Microchip Programmers
|
Programmer
|
MPLAB PM3
|
MPLAB ICD
|
PICkit Flash Starter Kit
|
MPLAB REAL ICE
|
Cost
|
about $900
|
about $220
|
about $80
|
About $500
|
Supports ICSP
|
Yes
|
Yes
|
Yes
|
Yes
|
Supports dsPIC DSC devices
|
Yes
|
Yes
|
Yes
|
Yes
|
Supports DIP packages only
|
|
|
|
|
Operates standalone
|
Yes
|
|
|
|
Also acts as debugger
|
|
Yes
|
Yes
|
Yes
|
Requires socket Module
|
Yes
|
|
|
|
Allows SQTP (unique serial numbers for each programmed device)
|
Yes
|
|
|
|
Safe Mode for data integrity
|
Yes
|
|
|
|
Various adapters and socket modules are available. Even though the PICSTART Plus is designed primarily as a programmer of DIP sockets, some adapters are available to enable it to program other packages. The Universal Programming Module is available for use with the MPLAB ICD and MPLAB REAL ICE.

PICSTART Plus Adapter
MPLAB PM3 programs the various package types with different Socket Modules. These can be ordered as accessories.
 
MPLAB PM3 Socket Modules
|