Getting Started with Development Tools
Development Tools Home
Getting Started Development Tools Home
Step 1 An Overview of Embedded Systems
Step 2 Start Now with Microchip Development Tools
Step 3 Implementing an Embedded System Design with MPLAB® IDE
Step 4 The Development Cycle
Step 5 MPLAB® Project Manager
Step 6 Language Tools
Step 7 Target Debugging
Step 8 Programming
Step 9 MPLAB® IDE: For More Information
Getting Started with MPLAB Editor
Getting Started with MPASM/MPLINK
Getting Started with MPLAB SIM
Getting Started with MPLAB ICD
Getting Started with MPLAB C18 1
Getting Started with MPLAB C18 2
Getting Started with MPLAB C18 3
Introduction to Microchip’s Development Tools
Introduction to MPLAB® IDE
Tips and Tricks Using MPLAB® IDE v6.61
Introduction to MPLAB® SIM Software Simulator
Basic dsPIC Development Tools
Introduction to the Signal Analysis PICtail daughterboard
Choosing a Debug Tool
MPLAB® IDE User's Guide
MPLAB® IDE Quick Chart
MPLAB® Download Page
Online Discussion Groups
Development Tools Selector Guide
Available Books
Third Party Tools
  Featured Products
 

Pick your MCU
 
 
     

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)

<picture>

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

Step 7: Target Debugging

Step 9: MPLAB IDE: For More Information