Note the following details of the code protection feature on Microchip devices:
•Microchip products meet the specification contained in their particular Microchip Data Sheet.
•Microchip believes that its family of products is one of the most secure families of its kind on the market today, when used in the
intended manner and under normal conditions.
•There are dishonest and possibly illegal methods used to breach the code protection feature. All of these methods, to our
knowledge, require using the Microchip products in a manner outside the operating specifications contained in Microchip’s Data
Sheets. Most likely, the person doing so is engaged in theft of intellectual property.
•Microchip is willing to work with the customer who is concerned about the integrity of their code.
•Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not
mean that we are guaranteeing the product as “unbreakable.”
Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection features of our
products. Attempts to break Microchip’s code protection feature may be a violation of the Digital Millennium Copyright Act. If such acts
allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that Act.
Information contained in this publication regarding device
applications and the like is provided only for your convenience
and may be superseded by updates. It is your responsibility to
ensure that your application meets with your specifications.
MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED,
WRITTEN OR ORAL, STATUTORY OR OTHERWISE,
RELATED TO THE INFORMATION, INCLUDING BUT NOT
LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE,
MERCHANTABILITY OR FITNESS FOR PURPOSE.
Microchip disclaims all liability arising from this information and
its use. Use of Microchip devices in life support and/or safety
applications is entirely at the buyer’s risk, and the buyer agrees
to defend, indemnify and hold harmless Microchip from any and
all damages, claims, suits, or expenses resulting from such
use. No licenses are conveyed, implicitly or otherwise, under
any Microchip intellectual property rights.
Trademarks
The Microchip name and logo, the Microchip logo, Accuron,
dsPIC, K
EELOQ, microID, MPLAB, PIC, PICmicro, PICSTART,
PRO MATE, PowerSmart, rfPIC and SmartShunt are
registered trademarks of Microchip Technology Incorporated
in the U.S.A. and other countries.
AmpLab, FilterLab, Migratable Memory, MXDEV, MXLAB,
SEEVAL, SmartSensor and The Embedded Control Solutions
Company are registered trademarks of Microchip Technology
Incorporated in the U.S.A.
Analog-for-the-Digital Age, Application Maestro, dsPICDEM,
dsPICDEM.net, dsPICworks, ECAN, ECONOMONITOR,
FanSense, FlexROM, fuzzyLAB, In-Circuit Serial
Programming, ICSP, ICEPIC, Linear Active Thermistor,
MPASM, MPLIB, MPLINK, MPSIM, PICkit, PICDEM,
PICDEM.net, PICLAB, PICtail, PowerCal, PowerInfo,
PowerMate, PowerTool, Real ICE, rfLAB, rfPICDEM, Select
Mode, Smart Serial, SmartTel, Total Endurance, UNI/O,
WiperLock and Zena are trademarks of Microchip Technology
Incorporated in the U.S.A. and other countries.
SQTP is a service mark of Microchip Technology Incorporated
in the U.S.A.
All other trademarks mentioned herein are property of their
respective companies.
Microchip received ISO/TS-16949:2002 quality system certification for
its worldwide headquarters, design and wafer fabrication facilities in
Chandler and Tempe, Arizona and Mountain View, California in
October 2003. The Company’s quality system processes and
procedures are for its PICmicro
devices, Serial EEPROMs, microperipherals, nonvolatile memory and
analog products. In addition, Microchip’s quality system for the design
and manufacture of development systems is ISO 9001:2000 certified.
All documentation becomes dated, and this manual is no exception. Microchip tools and
documentation are constantly evolving to meet customer needs, so some actual dialogs
and/or tool descriptions may differ from those in this document. Please refer to our web site
(www.microchip.com) to obtain the latest documentation available.
Documents are identified with a “DS” number. This number is located on the bottom of each
page, in front of the page number. The numbering convention for the DS number is
“DSXXXXXA”, where “XXXXX” is the document number and “A” is the revision level of the
document.
For the most up-to-date information on development tools, see the MPLAB
Select the Help menu, and then Topics to open a list of available on-line help files.
INTRODUCTION
®
IDE on-line help.
This chapter contains general information that will be useful to know before using
MPLAB PM3. Items discussed include:
• Document Layout
• Conventions Used in this Guide
• Warranty Registration
• Recommended Reading
• The Microchip Web Site
• Development Systems Customer Change Notification Service
Please complete the enclosed Warranty Registration Card and mail it promptly.
Sending in the Warranty Registration Card entitles users to receive new product
updates. Interim software releases are available at the Microchip web site.
RECOMMENDED READING
This user's guide describes how to use the MPLAB PM3 programmer. Other useful
documents are listed below. The following Microchip documents are available and
recommended as supplemental reference resources.
README for MPLAB PM3
For the latest information on using MPLAB PM3, read the
Readme for MPLAB PM3.txt file (an ASCII text file) in the MPLAB IDE\readmes direc-
tory. The README file contains update information and known issues that may not be
included in this on-line help file.
MPLAB PM3 On-line Help
®
MPLAB
Describes how to set up the MPLAB IDE software and use it to create projects and
program devices.
IDE Quick Start Guide (DS51281)
MPLAB® IDE User’s Guide (DS51519)
Comprehensive guide that describes installation and features of Microchip’s MPLAB
Integrated Development Environment (IDE).
Describes how to use the Microchip PICmicro MCU assembler (MPASM assembler),
linker (MPLINK linker) and librarian (MPLIB librarian).
MPLAB IDE On-line Help
In-Circuit Serial Programming™ (ICSP™) Guide (DS30277)
This document contains helpful design guidelines for successful ICSP programming. It
includes application notes on hardware designs and the ICSP programming
specifications.
Microchip provides on-line support via our web site at www.microchip.com. This web
site is used as a means to make files and information easily available to customers.
Accessible by using your favorite Internet browser, the web site contains the following
information:
• Product Support – Data sheets and errata, application notes and sample
programs, design resources, user’s guides and hardware support documents,
latest software releases and archived software
• General Technical Support – Frequently Asked Questions (FAQs), technical
support requests, on-line discussion groups, Microchip consultant program
member listing
• Business of Microchip – Product selector and ordering guides, latest Microchip
press releases, listing of seminars and events, listings of Microchip sales offices,
distributors and factory representatives
DEVELOPMENT SYSTEMS CUSTOMER CHANGE NOTIFICATION SERVICE
Microchip’s customer notification service helps keep customers current on Microchip
products. Subscribers will receive e-mail notification whenever there are changes,
updates, revisions or errata related to a specified product family or development tool of
interest.
To register, access the Microchip web site at www.microchip.com, click on Customer
Change Notification and follow the registration instructions.
The Development Systems product group categories are:
• Compilers – The latest information on Microchip C compilers and other language
tools. These include the MPLAB C18 and MPLAB C30 C compilers; MPASM and
MPLAB ASM30 assemblers; MPLINK and MPLAB LINK30 object linkers; and
MPLIB and MPLAB LIB30 object librarians.
• Emulators – The latest information on Microchip in-circuit emulators.This
includes the MPLAB ICE 2000 and MPLAB ICE 4000.
• In-Circuit Debuggers – The latest information on the Microchip in-circuit
debugger, MPLAB ICD 2.
• MPLAB
Integrated Development Environment for development systems tools. This list is
focused on MPLAB IDE, MPLAB SIM simulator, MPLAB IDE Project Manager and
general editing and debugging features.
• Programmers – The latest information on Microchip programmers. These include
the MPLAB PM3 and PRO MATE
Plus and PICkit
®
IDE – The latest information on Microchip MPLAB IDE, the Windows®
Users of Microchip products can receive assistance through several channels:
• Distributor or Representative
• Local Sales Office
• Field Application Engineer (FAE)
• Technical Support
Customers should contact their distributor, representative or field application engineer
(FAE) for support. Local sales offices are also available to help customers. A listing of
sales offices and locations is included in the back of this document.
Technical support is available through the web site at: http://support.microchip.com
This chapter presents an overview of the features and requirements of MPLAB PM3.
Topics covered in this chapter:
• What is MPLAB PM3?
• What MPLAB PM3 Does
• MPLAB PM3 System Components
• MPLAB PM3 CE Compliance
• How MPLAB PM3 Helps You
• MPLAB PM3 Operating with a PC
• MPLAB PM3 Operating without a PC (Stand-alone)
• MPLAB Integrated Development Environment
• MPLAB Development Tools
1.2WHAT IS MPLAB PM3?
MPLAB® PM3
USER’S GUIDE
MPLAB PM3 is a Microchip microcontroller device programmer. Through
interchangeable programming socket modules, MPLAB PM3 enables you to quickly
and easily program the entire line of Microchip microcontroller devices.
MPLAB PM3 may be used with MPLAB IDE running under supported Windows Operating Systems (OS's) (see “Readme for MPLAB PM3.txt” file for support list) or as
a stand-alone programmer.
See “Recommended Reading” in the “Preface” for more information.
1.3WHAT MPLAB PM3 DOES
MPLAB PM3 can be set up on the serial (COM 1-4) or USB communications port on
your PC. With MPLAB PM3 you can perform the following operations:
• Program memory, Configuration bits, EEPROM data memory, ID locations and
calibration data into devices.
• Program devices using ICSP™ (In-Circuit Serial Programming™) on the target
board and user GO
• Verify that microcontrollers are blank.
• Verify that code in the target microcontroller matches your firmware.
• Read code from an unprotected microcontroller into MPLAB IDE’s program
memory window for debugging and programming into other devices.
• Program unique serialized ID numbers into your firmware using Serial Quick Turn
Programming (SQTP
• Store environments on an MPLAB PM3 Card.
, PASS and FAIL signals to interface with MPLAB PM3.
The MPLAB PM3 device programmer system consists of the following:
• MPLAB PM3 device programmer (see Figure 1-1)
• Module sockets
Note:A complete line of socket modules is available. The socket modules may
be ordered separately for the devices that will be programmed.
• RS-232 Interface cable to connect to any standard PC serial port
• USB Interface cable to connect to any standard PC USB port
•ICSP cable
• Power supply
• MPLAB IDE software – an Integrated Development Environment including a text
editor, project manager and simulator for debugging. Also included are the
MPASM assembler, MPLINK object linker and MPLIB object librarian.
FIGURE 1-1:MPLAB
1.5MPLAB PM3 CE COMPLIANCE
The MPLAB PM3 device programmer is designed, tested and certified to meet the
Electromagnetic Compatibility requirements known as the CE compliance directives.
These standards, set by the European Union (EU) countries, include limiting radiated
emission, reducing susceptibility to radiated emission and reducing susceptibility to
Electrostatic Discharge (ESD).
With the MPLAB PM3 device programmer, you can program Microchip devices from a
PC Host, or you can use the device programmer as a stand-alone unit.
• MPLAB PM3 is easy to use and flexible in programming Microchip devices and
package types.
• MPLAB PM3 will expand to support future Microchip devices always providing the
latest programming algorithms to support Microchip PIC
and other Microchip parts, via the Microchip web site (http://www.microchip.com).
• With an optional MPLAB PM3 Card inserted, you can store and transport device
settings for programming.
1.7MPLAB PM3 OPERATING WITH A PC
Using MPLAB Integrated Development System (IDE) as the interface, MPLAB PM3
becomes another tool in MPLAB IDE, allowing you to quickly compile, test and debug
your firmware, then download it into MPLAB PM3 to be programmed into your device.
1.8MPLAB PM3 OPERATING WITHOUT A PC (STAND-ALONE)
Without a PC connection to MPLAB PM3, the unit operates as a stand-alone device
programmer. However, a PC connection is required for operating system updates. The
main programmer features of MPLAB PM3 are available, including Read, Program and
Verify.
®
microcontroller devices
1.9MPLAB INTEGRATED DEVELOPMENT ENVIRONMENT
The MPLAB IDE desktop provides an environment for developing and debugging your
application. MPLAB PM3 is integrated into MPLAB IDE, but you do not need
MPLAB IDE to use MPLAB PM3.
This document covers the basic setup and operation of the MPLAB PM3 device
programmer, but it does not cover all functions of MPLAB IDE. Read the MPLAB IDE
documentation to get a full understanding of the features and debug capabilities of
MPLAB IDE.
MPLAB IDE integrates several tools to provide a complete development environment.
• MPLAB Project Manager
The Project Manager is used to create a project and work with the specific files
related to the project. When using a project, source code is rebuilt and
downloaded to the simulator or emulator with a single mouse click.
• MPLAB Editor
The MPLAB Editor is used to create and edit text files such as source files, code
and linker script files.
• MPLAB SIM Simulator
The software simulator models the instruction execution and I/O of the PICmicro
MCUs.
• MPLAB ICE Emulator
The MPLAB ICE emulator uses hardware to emulate PICmicro MCUs in real time,
either with or without a target system.
The MPASM assembler allows source code to be assembled without leaving
MPLAB IDE. MPLINK linker creates the final application by linking relocatable
modules from MPASM assembler, MPLAB C17 and MPLAB C18. MPLIB librarian
manages custom libraries for maximum code reuse.
• MPLAB C18 and MPLAB C30 C Compilers
The MPLAB C18 and MPLAB C30 C Compilers provide ANSI-based high-level
source code solutions. Complex projects can use a combination of C and
assembly source files to obtain the maximum benefits of speed and
maintainability.
• MPLAB PM3, PRO MATE II and PICSTART Plus Programmers
Develop code with the simulator or an emulator, assemble or compile it, then use
one of these tools to program devices. This can all be accomplished with
MPLAB IDE.
• Third Party Tools
Many other companies have development tools for Microchip products that work
with MPLAB IDE. Consult the Microchip web site for additional information.
Do not allow the Windows OS to pick a USB driver. MPLAB PM3 will not work with
this driver. You must follow the procedure specified at MPLAB IDE software installation to set up the USB driver or to fix an improper driver installation.
Install MPLAB IDE first. The USB driver installation instructions will pop up at the end
of MPLAB IDE installation. Follow those instructions to install the USB driver.
The instructions are in the MPLAB IDE installation directory under:
MPLAB PM3\Drivers\instr.htm
where instr.htm depends on your Personal Computer (PC) OS:
• ddpm398.htm – Windows 98
• ddpm3me.htm – Windows ME
• ddpm3.htm – Windows 2000/XP
2.3INSTALLING MPLAB PM3 HARDWARE
IMPORTANT: Do not allow the Windows OS to pick a USB driver. Follow the procedure
specified in Section 2.2.2 “USB Driver Installation”.
The MPLAB PM3 hardware is simple to set up:
• If you are using MPLAB IDE:
- Attach the communications cable.
- Connect the power supply to MPLAB PM3.
- Install the socket module (or attach the ICSP cable).
• If you are using MPLAB PM3 in Stand-Alone mode:
- Connect the power supply to MPLAB PM3.
- Install the socket module or attach the ICSP cable.
• If you are using the MPLAB PM3 Card in MPLAB PM3:
- Insert the MPLAB PM3 Card into the SD-MMC port on the back of the
programmer.
NOTICE
2.3.1Installing the Communications Cable
MPLAB PM3 provides communications with the host PC via an RS-232 9-pin D type
connector or a USB connector. See Figure 2-1 for communication port locations.
MPLAB PM3 is supplied with two 6-foot data cables: one with DB-9 connectors and one
with USB connectors. All lines on the serial cable are wired straight through. The serial
cable is NOT a null modem cable.
• Connect one end of the USB cable to a USB port on your PC.
• Connect the cable from the PC USB port to the corresponding USB connector on
the back of MPLAB PM3.
Note:If you are using USB and a “New Hardware Detected” notice appears on
your PC, you must follow the directions on installing the proper driver or
your MPLAB PM3 will not work.
2.3.1.2FOR RS-232 COMMUNICATIONS
NOTICE
IMPORTANT: Set the COM port FIFO buffers off, the Flow Control to “Hardware” and
Baud Rate to 57600. You will need to reboot your PC for these settings to take effect.
See Section B.5.2.5 “Manually Setting Up The Port” for more information.
• Connect one end of the RS-232 cable to an available COM port on your PC.
Check your PC setup to see which communications port is available.
• Connect the cable from the PC COM port to corresponding RS-232 connector on
the back of MPLAB PM3. For more on serial connections, see
Section A.2 “Connecting to a PC via the Serial Port”.
2.3.2Installing the Power Supply
MPLAB PM3 comes with a proprietary external power supply.
1. Make sure that the power switch on the back of the unit is in the OFF position
(see Figure 2-1).
2. Plug the power supply into a power socket and connect the power supply cable
Socket modules are sold separately. MPLAB PM3 comes with an 18-inch ICSP cable
for ICSP programming. See Figure 2-2 for location of socket module connectors and
ICSP connector.
FIGURE 2-2:TOP VIEW OF MPLAB
®
PM3
MPLAB® PM3
Device Programmer
LCD
LEDs
STATUS
POWER
ESCENTER
Keys/Buttons
M
2.3.3.1SOCKET MODULE INSTALLATION
Socket modules are available to accommodate each device package. The “Product Selector Guide” (DS00148) lists Microchip’s devices, tools and socket modules. The
“Development System Ordering Guide” (DS30177) describes the available socket
modules. Also, the Readme for MPLAB PM3 file lists socket module support for each
device.
ICSP Connector
Socket Module Connectors
Note:MPLAB PM3 allows hot swapping of socket modules. If the status LED is
not lit, sockets can be replaced.
2.3.3.1.1For MPLAB PM3 Socket Modules
1. Align the connectors on the socket module with the connectors on MPLAB PM3
(Figure 2-2).
2. Push the socket module down evenly mating the connectors.
It is always a good practice to insert a known blank device and do a Blank Check
whenever the socket module is changed.
2.3.3.1.2For PRO MATE II Socket Modules
Note 1:In order to use PRO MATE II socket modules with MPLAB PM3, you must
obtain an AC164350 adapter kit. See the “Development System Ordering Guide” (DS30177).
2:The PRO MATE II ICSP socket module is not supported by MPLAB PM3.
An 18-inch ICSP cable is included with MPLAB PM3, eliminating the
need for an ICSP socket.
1. Align the connectors on the adapter with the connectors on MPLAB PM3.
2. Push the adapter down evenly mating the connectors.
3. Align the socket module with the adapter on MPLAB PM3.
4. Tighten the two socket module thumb screws evenly and simultaneously. Avoid
over tightening; they should be finger-tight only.
Note:The gold connector strips on the PRO MATE II socket module are relatively
fragile. Avoid touching them with the socket module screws and avoid
over-tightening the screws.
It is always a good practice to insert a known blank device and do a Blank Check
whenever the socket module it changed.
2.3.3.2ICSP CABLE INSTALLATION
1. Connect the ICSP cable connector to the ICSP socket on MPLAB PM3
(Figure 2-2).
2. Leave the individual leads unconnected at this time.
2.3.3.3MPLAB PM3 CARD INSERTION
1. Align the MPLAB PM3 Card with the SD-MMC slot on the back of the
MPLAB PM3 programmer, and insert the notched corner end of the card into the
slot. The card is keyed so that it only goes in one way.
2. Push the card into the slot.
3. To remove the card, push in to eject.
2.4POWERING UP MPLAB PM3
Once you have connected the hardware and installed the software, you are ready to
turn on MPLAB PM3. Turn the power switch on the side of MPLAB PM3 to l (ON)
(refer back to Figure 2-1).
Note:MPLAB PM3 automatically performs a self-test ensuring the programmer is
functional. No calibration is required.
If any portion of the self-test fails, MPLAB PM3 will display the corrective course of
action on the LCD panel. For normal start-up, the MPLAB PM3 will beep once. See
Section B.7 “Error Messages – LCD” for information on beep codes and LCD error
messages. MPLAB IDE will provide further information to help you debug the issue.
On a successful power-up, you should see the following types of messages appear on
the LCD panel on the front of MPLAB PM3:
• MPLAB PM3 splash screen
• Version numbers and copyright dates
• MPLAB PM3 menu
At this point, you are ready to use MPLAB PM3. If you are going to use MPLAB PM3
with MPLAB IDE (Windows), please refer to Chapter 4. “Using MPLAB PM3 with MPLAB IDE”. If you are going to use MPLAB PM3 in Stand-Alone mode, please refer
to Chapter 5. “Using MPLAB PM3 in Stand-Alone Mode”. If you are using the
MPLAB PM3 Card with either MPLAB IDE or in Stand-Alone mode, also refer to
In addition to MPLAB PM3, the PRO MATE II and PICSTART Plus device programmers
are supported under MPLAB IDE. However, only one programmer can be used at a
time.
Select Programmer>Select Programmer>MPLAB PM3
list of available programmers (Figure 2-4). After MPLAB PM3 is selected:
• The Programmer menu changes to include the MPLAB PM3 Programmer Menu
and Settings.
• The MPLAB PM3 Toolbar is revealed.
• The name of the programmer appears on the status bar.
You can set up MPLAB PM3 to communicate with MPLAB IDE through one of the serial
COM ports (1-4) or USB.
2.5.3.1SERIAL COMMUNICATIONS
From the MPLAB Programmer menu, select Programmer>Settings
Communications tab. A dialog similar to the one shown in Figure 2-5 will display.
FIGURE 2-5:COMMUNICATIONS PORT SETUP DIALOG
and click on the
The Communications Port Setup dialog shows the possible PC serial and USB
communication ports. Click OK to set the options or Cancel to ignore the changes and
close the dialog.
To use USB communications between the PC and the MPLAB PM3 device
programmer, select the
Do not allow the Windows OS to pick a USB driver; it will not work and you will then
not be able to install the proper driver. Follow the procedure specified in
Section 2.2 “Installing MPLAB PM3 Software”.
FIGURE 2-6:USB PORT
USB port (Figure 2-6). Click OK.
CAUTION
To make sure the port is set up properly, follow the instructions in the “For USB
Communications” subsection in Section 2.3.1 “Installing the Communications Cable”.
Chose Configure>Select Device to select the device you wish to program from the list
of available devices (Figure 2-7). When you select a device, indicators next to the
Microchip Tools names show the level of support for that device:
• Green – supports the device
• Yellow – limited (advance) support
• Red – no support.
If the selected device is supported by MPLAB PM3, click OK.
FIGURE 2-7:SELECT DEVICE DIALOG
2.5.5Enabling MPLAB PM3
To enable MPLAB PM3, select Programmer>Enable Programmer (Figure 2-8). The
MPLAB PM3 toolbar will appear when the programmer is enabled. See Chapter
7. “MPLAB PM3 – MPLAB IDE Reference” for more reference information on the
MPLAB PM3 programmer. The MPLAB PM3 Card is available from the Programmer
menu only if you have the MPLAB PM3 Card inserted in the MPLAB PM3 programmer.
MPLAB IDE may warn you that your programmer OS Suite is out of date. If you choose,
MPLAB IDE will automatically update the necessary files at these warnings.
If MPLAB PM3 is not found on the selected port, the Communications Error dialog
(Figure 2-9) will appear.
FIGURE 2-9:COMMUNICATIONS ERROR DIALOG
If you cannot establish communications between the PC and MPLAB PM3, please
make sure you have installed the hardware and software correctly. If you still cannot
establish communications between the PC and MPLAB PM3, refer to Appendix B. “Troubleshooting”.
If you have been using another programmer (e.g., PICSTART Plus), the MPLAB PM3
menu may be unavailable. From the Programmer menu, select Programmer> Select Programmer to bring up the Select Programmer dialog and choose MPLAB PM3
from the list. The MPLAB PM3 menu will appear on the menu bar.
2.5.6Inserting a Device into MPLAB PM3
If you are using a socket module, insert the device to be programmed into the MPLAB
PM3 socket. Position pin one to be top justified in the socket. Secure the device by
pushing down the silver lever on the socket or closing the clamshell.
If you have not already selected the device in MPLAB IDE, do so by selecting
Configure>Select Device
PIC18F452 device.
Under Microchip Programmer Tool Support, verify that this device is supported (green
light) by MPLAB PM3. Click OK.
FIGURE 3-1:SELECTING THE DEVICE
3.5CREATING THE PROJECT
to open the Select Device dialog (Figure 3-1) and select the
In order to program the device, you’ll need a hex file. In this example, we’ll create a
project using the Project Wizard. We will use a single assembly file for this project and
a linker script. Choose the Project>Project Wizard
FIGURE 3-2:PROJECT WIZARD WELCOME SCREEN
.
Click on Next> to advance to the next dialog in the Project Wizard.