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.
The next dialog allows you to select the device, which we’ve already done. Make sure
that it says PIC18F452. If it does not, select the PIC18F452 from the drop down menu.
Click Next>.
Step Two of the Project Wizard sets up the language tools that are used with this
project. Select “Microchip MPASM Toolsuite” in the Active Toolsuite list box. Then
“MPASM” and “MPLINK” should be visible in the Toolsuite Contents box. Click on each
one to see its location. If MPLAB IDE was installed into the default directory, the
MPASM assembler executable will be:
Step Three of the wizard allows you to name the project and put it into a folder. This
sample project will be called 18F452Proj. Using the Browse button, place the project
in a folder on the C drive named My Projects. Click Next>.
Step Four of the Project Wizard allows file selection for the project. A source file has
not yet been selected, so we will use an MPLAB IDE template file. The template files
are simple files that can be used to start a project. They have the essential sections for
any source file, and contain information that will help you write and organize your code.
These files are in the MPLAB IDE folder, which by default is in the Program Files
folder on the PC. There is one template file for each Microchip PICmicro MCU and
®
dsPIC
Scroll to the Program Files folder on Drive C:, open it, and scroll down to the
Microchip folder. Open the Microchip folder and scroll down to the MPASM Suite
directory. Open the MPASM Suite directory and get a template from the Object folder
in the Template folder, and choose the file named f452tmpo.asm.
If MPLAB IDE is installed in the default location, the full path to the file will be:
Press Add>> to move the file name to the right panel, and click on the check box at the
start of the line with the file name to enable this file to be copied to our project directory.
Next, add the second file for our project, the linker script. There is a linker script for each
device. These files define the memory configuration and register names for the various
parts. The linker scripts are in the folder named LKR under the MPASM Suite folder.
Use the file named 18F452.lkr The full path is:
After pressing the Finish button, review the Project window on the MPLAB IDE
desktop. It should look like Figure 3-9. If the Project window is not open, select
View>Project
FIGURE 3-9:PROJECT WINDOW
.
3.9BUILDING THE INITIAL PROJECT
From the Project menu, we can assemble and link the current files. They don’t have
any of our code in them yet, but this ensures that the project is set up correctly.
Click back on the 18f452Proj.mcw window to make it the active window. Now, build the
project by selecting Project>Build All
process as shown in Figure 3-10.
Open the template file in the project by double clicking on its name in the Project
window (see Figure 3-11).
The file has some comments at the beginning, and this area can be used as a standard
comment information header for the file. For now, you’ll leave this as it is, but if this were
a real project, you could put information about your design here.
FIGURE 3-11:TEMPLATE FILE
Tutorial
Scroll down to the bottom of the file.
The code in the first part of the file is for more advanced functions such as setting up
interrupts and Configuration bits in a final application. These details can be ignored at
this point with focus on writing the code. The new code will be placed in the file at the
point after the symbol Main is defined.
In this bit of code, we used three variables named COUNT, DVAR and DVAR2. These
variables need to be defined in the template file in the UDATA section for uninitialized
data. There are already three variables in this section of the template file, ours can be
added at the end using the same format. Each variable is an 8-bit variable, so they only
need to reserve 1 byte each.
Select Project>Build All to assemble and link the code. If the code assembled with no
errors, the Output window will look like Figure 3-15.
FIGURE 3-15:BUILD OUTPUT WINDOW
Save your project by selecting File>Save Workspace
If these do not assemble and link successfully, check the following items and then build
the project again:
• Check the spelling and format of the code entered in the Editor window. Make
sure the new variables and the special function registers, TRISC and PORTC, are
in upper case. If the assembler reported errors in the Output window, double click
on the error and MPLAB IDE will open the corresponding line in the source code
with a green arrow in the left margin of the source code window.
• Check that the correct assembler (MPASM assembler) and linker for PICmicro
MCU devices is being used. Select Project>Set Language Tool Locations
on the plus boxes to expand the Microchip MPASM assembler toolsuite and its
executables. Click MPASM Assembler (mpasmwin.exe) and review their location
in the display. If the location is correct, click Cancel. If it is not, change it and then
click OK. The default search paths can be empty.
Upon a successful build, the output file generated by the language tool will be loaded.
This file contains the object code that can be programmed into a PICmicro MCU and
debugging information so that source code can be debugged, and source variables can
be viewed symbolically in Watch windows.
Now that you’ve built your project successfully, you can prepare for programming your
device.
If you haven’t already started the MPLAB PM3 device programmer, select
Programmer>Enable Programmer
programmer is enabled.
Select View>Program Memory
(see Figure 3-16) to view the hex code you’ve just built. You can resize or move the
Program Memory window on your display. You may wish to close the Build Results
window.
FIGURE 3-16:VIEWING PROGRAM MEMORY
Tutorial
. The MPLAB PM3 toolbar will appear when the
and click on Opcode Hex at the bottom of the window
Now that you have your data in program memory, you can program the device. Make
sure your PIC18F452 device is inserted in the appropriate socket on MPLAB PM3.
Then, select Programmer>Program
and, when finished, the Output window will display the results (see Figure 3-17).
FIGURE 3-17:PROGRAMMING RESULTS
. The MPLAB IDE window will indicate the progress
3.14VERIFYING THE PROGRAMMING
Select Programmer>Verify to double-check the programming in the device. If any
address locations on the device do not match program memory, an error log will display
the discrepancies. If the bad data in the error log is 0000, try reseating the socket
module.
3.15TUTORIAL SUMMARY
By completing this tutorial, you have performed the major steps for creating, building
and programming a simple project. Tasks completed include:
Selecting the device – the PIC18F452.
Using the Project Wizard to create a project, and using the wizard to:
• select MPLAB IDE built in MPASM assembler and MPLINK linker language tools,
• add files for the project: a template file for the device selected, and a linker script
to build it properly.
Writing some simple code to send a changing value out an I/O port.
Building the project.
And finally, programming the PIC18F452 device.
These are the essential steps for programming a device with MPLAB IDE and
MPLAB PM3.
This chapter describes the main steps in programming and reading a device using the
MPLAB PM3 device programmer. Topics covered in this chapter include:
• Before You Begin
• MPLAB PM3 Dialogs
• Setup for Programming a Device
• Programming a Device
• Verifying the Programming
• Reading a Device
• Special Programming
4.2BEFORE YOU BEGIN
Before using MPLAB PM3, you must have performed the following initialization steps:
1. Installed the MPLAB IDE software (Section 2.2 “Installing MPLAB PM3
2. Turned the power on MPLAB PM3 (Section 2.4 “Powering Up MPLAB PM3”).
3. Selected MPLAB PM3 as your programmer (Section 2.5.2 “Selecting MPLAB
PM3 as the Programmer”).
4. Configured the communications port that MPLAB IDE will use to communicate
with MPLAB PM3 (Section 2.5.3 “Setting Up the Communications Port”).
5. Selected the device you wish to program from the list of available devices
(Section 2.5.4 “Selecting a Device in MPLAB IDE”).
6. Enabled (started) the MPLAB PM3 programmer (Section 2.5.5 “Enabling
MPLAB PM3”).
MPLAB® PM3
USER’S GUIDE
4.3MPLAB PM3 DIALOGS
The MPLAB PM3 Programmer Menu options are displayed when the programmer is
enabled. If the option is unavailable, the item appears in gray (not black) text.
The next section will discuss how these dialogs are used to program devices.
4.4SETUP FOR PROGRAMMING A DEVICE
To program a device, you will need:
• A hex file to program into the device.
• A device to program. Must be blank if non-flash device.
• Setting up the Configuration bits in the Configuration Bits dialog
• If needed, editing the ID in the User ID Memory dialog
• Loading the hex code into program memory or building the project into program
memory
• Checking for a blank device (non-flash devices)
• Programming the device
• Verifying the programming
• Reading a device
4.5.1Configuration Bits Dialog
The Configuration Bits dialog opens when you select Configure>Configuration Bits.
The type and number of Configuration bits you see in this dialog will depend on the
device you have selected.
You can also specify the Configuration bit values in your source code. Use the
__CONFIG directive in MPASM assembler to set the Configuration bits for the device
to be programmed. Each time you rebuild your project or reload your hex file, the
Configuration bits will be set according to the values from this directive.
If you do not set Configuration bits in your source code, then these bits will not be
changed. You can manually change them from their default values using the
Configuration Bits dialog and they will be programmed into the device when you
program the microcontroller.
A value set in the Configuration Bits dialog overrides any value set in the program.
Note:Setting Configuration bits here will not affect emulator or simulator
operation.
To change the Configuration bits settings:
1. Make sure the Configuration Bits window is opened wide enough to view the
Settings column (Figure 4-1).
FIGURE 4-1:CONFIGURATION BITS DIALOG
2. Click on the setting value you wish to change. A down arrow appears to the right
of the value. Select a value from the drop-down list box.
Select Configure>ID Memory to edit the user ID memory address.
You can also use the __IDLOCS directive to set the ID bytes from MPASM assembler.
Each time you rebuild your project or reload your hex file, the ID locations will be set
according to the values from the __IDLOCS directive.
An ID value set in the User ID Memory dialog (Figure 4-2) overrides any value set in
the program.
FIGURE 4-2:USER ID MEMORY DIALOG
To change the User ID:
1. Type the User ID in the field.
2. Select or clear the “Use Unprotected Checksum” check box as needed.
It is recommended that if the device is code-protected, this box be checked to
use an unprotected checksum. Most devices use this information to calculate the
code-protected checksum.
3. Click OK to set the option or click Cancel to cancel the entry.
If you have a hex file (e.g., code.hex) ready for programming into a microcontroller,
open the Program Memory window if it is not already open. To do so, from the MPLAB
IDE menu, select View>Program Memory
file you want to load into the MPLAB IDE Program Memory window.
Note:There is no warning for importing files with invalid hex values. That is, the
hex file of a 14-bit device may be loaded into the program memory of a
12-bit device and the hex file of a 16-bit device may be loaded into the
program memory of a 14-bit device.
The Program Memory window should now contain the hex code from the hex file
(Figure 4-3).
FIGURE 4-3:PROGRAM MEMORY — HEX CODE DISPLAY
. Then, select File>Import... to browse for the
If you do not have a hex file with which to program your device, you can build one using
MPLAB IDE Projects. MPLAB IDE provides a text editor for generation of source code
and compatibility with various assemblers/compilers for assembling/compiling your
source code into hex code in MPLAB IDE program memory. For an example on using
MPLAB IDE Projects to create a hex file for device programming, refer to Chapter
3. “Tutorial”. Please read the MPLAB IDE documentation to see how to use MPLAB
IDE Projects to develop your own firmware.
Each time you rebuild your project, the Program Memory window will be updated.
4.5.3.1IMPORTED HEX FILES AND EEPROM DATA
If you imported your hex file into MPLAB IDE and are using EEPROM data memory,
make sure your hex code specifies the start of EEPROM data memory. This needs to
be specified for use with programmers.
4.5.4Checking For a Blank Device (Non-Flash Devices)
You can perform a Blank Check by selecting Programmer>Blank Check All from the
MPLAB PM3 menu. This check will verify that the device is completely blank (all bits
are set to a ‘1’) and all Configuration bits are set to a ‘1’ (unprogrammed state).
If you are using a One-Time Programmable (OTP) device, some Configuration bits
(e.g., oscillator bits) might have already been programmed at the factory. Make sure
the Configuration bits are set to the factory settings and select Programmer> Blank Check OTP. This will check that all program memory bits are set to ‘1’, and that
the Configuration bits match the value in the dialog. An OTP device cannot be erased
and reprogrammed.
If the EPROM device is not blank, you will have to erase it before programming, or
select another device:
1. Remove any labels covering the device window. If you do not have a windowed
device (Figure 4-4) you cannot reprogram it. A windowed version of all EPROM
devices may be ordered by requesting the JW package.
FIGURE 4-4:WINDOWED DEVICE
2. Place the device in an Ultraviolet (UV) EPROM Eraser. The amount of time
required to completely erase a UV erasable device depends on: the wavelength
of the light, its intensity, distance from UV source and the process technology of
the device (the size of the memory cells).
3. Verify that the device is blank (i.e., perform the Blank Check again) before
attempting to program it.
If the device is EEPROM/Flash, you do not have to erase it before reprogramming it.
These devices are electrically erased before programming.
You are ready to program your device. Select Programmer>Program to program the
entire device (i.e., all of the program memory, Configuration bits, etc.).
If you want to program selectively (e.g., part of program memory, only Configuration
bits), select Programmer>SettingsMemory Ranges tab (see Table 4-1 and Section 7.5.1 “Memory Ranges Tab”) and
select the options for programming. Areas that are grayed out are not available on the
device. Click OK. Then, select Programmer>Program
memory area corresponding to the checked boxes will be programmed.
TABLE 4-1:MEMORY RANGES TAB OPTIONS
OptionDescription
Program Memory Start AddressType the start address for the range of program
Program Memory End AddressType the end address for the range of program
Reset AddressesClick this button to reset the program memory
Program MemorySelect this check box if you want to program
Configuration BitsSelect this check box if configuration memory is to
ID LocationSelect this check box if the ID location is to be
EEPROM DataSelect this check box if the EEPROM data memory
Calibration MemorySelect this check box if calibration memory to be
Erase All Before ProgramSelect this check box if the device is to be erased
to open the Programmer Settings dialog. Click the
to program the device. The
memory.
memory.
addresses.
Program Memory. The program memory range is
determined by the program memory start and end
address fields.
be programmed.
programmed.
is to be programmed.
programmed.
before programming.
After MPLAB PM3 programs a device, it automatically performs a verify operation and
displays any errors found. An additional verify operation may be done via selecting
Programmer>Verify
.
4.6VERIFYING THE PROGRAMMING
Click Programmer>Verify to verify that the programming on the device matches the
program memory, Configuration bits, ID locations, EEPROM and calibration memory
values in MPLAB IDE and in the Settings dialog and Configuration Bits dialog.
If there are more errors than expected and those errors claim that the bad data is all
zeros (0000), the socket module might not be seated properly. Remove and reseat the
socket module. It is always a good practice to insert a known blank device and do a
Blank Check whenever the socket module is changed.
Note:A verify is automatically done after a program command.
To copy the firmware from a programmed device into an unprogrammed device, read
the programmed firmware (program memory, Configuration bits, etc.) into MPLAB IDE,
then program the new device based on this information.
To read the entire device (i.e., all of program memory, Configuration bits, etc.), click
Programmer>Read
To read selectively (e.g., part of program memory, only Configuration bits), select
Programmer>Settings>Memory Ranges
the options to be read, then click OK in this dialog. Areas that are grayed out are not
available on the device. Then, select Programmer>Read
corresponding to the checked boxes will be read.
Once the Read is complete, the Program Memory window will display the data read
from the device master. You can save that data as a hex file (File>Export
device into MPLAB PM3 to copy that same data into a new device, or modify the data
in MPLAB IDE before you save to a hex file or program another device.
If you attempt to read a code-protected device, you will get a warning indicating that the
device is code-protected and that the program memory may be invalid. If this happens,
obtain the original hex code from a file or a non-protected device.
If you have an MPLAB ICE emulator connected to MPLAB IDE, your code will be
downloaded to the emulated program memory of MPLAB ICE. If you have a project
open, you will be asked if you want to close it before reading memory from a device.
Using MPLAB PM3 with MPLAB IDE
.
to display the Memory Ranges dialog. Select
. The memory area
), insert a new
Note:If you keep your project open, the Absolute Listing window and the Source
Code window may not match the data you have read into the Program
Memory window. Symbols may not match the proper addresses in the
Program Memory window.
After reading a device into MPLAB IDE, its data will appear in the Program Memory
window. You can modify the data, then save it to a hex file by selecting Project>Build Options>Project. See the MPLAB IDE documentation for more information.
4.8SPECIAL PROGRAMMING
4.8.1SQTP
Serial Quick Turn Programming (SQTP) allows you to program a unique serial number
into each device. This number can be used as an entry code, password or ID number.
Serialization is done by using a series of RETLW (Return Literal W) instructions, with
the serial number bytes as the literal data. To serialize, you must first generate a
serialization file, and then use that file to serialize locations in the device
microcontroller:
1. To generate an SQTP file, select Programmer>Settings>
and fill in the dialog.
2. To activate serialization, select Programmer>Load SQTP File
file.
3. To program the device, select Programmer>Program
Refer to Section 7.5.3 “SQTP Tab” and Section 7.6.1 “Using SQTP” for more
detailed information on SQTP programming. See Section 7.7.1 “Using Hexadecimal Record Formats” for information on hex record formats.
The ICSP (In-Circuit Serial Programming) socket is an extension of the MPLAB PM3
device programmer that allows you to program PICmicro microcontroller devices that
are already installed in the target board.
MPLAB PM3 comes equipped with an ICSP header and cable. You can locate this connector under where a socket module would be installed. See Section A.4 “ICSP Hard-ware Specifications” for header and cable pinout information.
To program a device using ICSP:
1. Select Programmer>Settings
2. In the “ICSP Options” area, select “Low Voltage Program” to program using this
method. Be sure to connect the LVP/PGM pin and Enable the Low Voltage Program Configuration bit if the Low Voltage Program option has been selected.
Select “Power target circuit from MPLAB PM3” if you want to power the circuit
through MPLAB PM3 instead of using power from the target board (Figure 4-5).
FIGURE 4-5:ICSP™ OPTIONS
and click the Voltages tab.
3. Connect the ICSP cable connector to the ICSP socket on MPLAB PM3.
4. Connect the necessary cables to the header on your target board. Refer to
Ta bl e A -3 in Appendix A. “Hardware Specifications” for cable pins, colors and
signals.
5. Program the device. See Section 4.5 “Programming a Device”.
Note:For information on how to program a specific device using ICSP, consult the
programming specification for that device. See the README for MPLAB
PM3 for a list of programming specifications of supported devices.
Programming specifications may also be found on the Microchip web site
at www.microchip.com.
This chapter briefly describes how to use the MPLAB PM3 device programmer in
Stand-Alone mode. The device programmer provides a graphical LCD interface that
gives complete control over a programming session. Topics covered in this chapter
include:
• Getting Started in Stand-alone Mode
• Programming a Device
See Chapter 8. “Stand-Alone Reference” for detailed descriptions on how to use
MPLAB PM3 in Stand-Alone mode.
5.2GETTING STARTED IN STAND-ALONE MODE
MPLAB PM3 operating in Stand-Alone mode allows you to read, program and verify a
device without using a PC. Stand-Alone mode is useful in situations where a PC may
not be available or even required, such as in the field or in a lab production
environment.
5.2.1Installing a Socket Module
See Section 2.3.3 “Installing a Socket Module or ICSP Cable” for instructions.
Note:An 18-inch ICSP cable is included with MPLAB PM3, eliminating the need
for an ICSP socket.
Be sure to install the appropriate socket for the device being programmed. When the
MPLAB PM3 device programmer is powered up, the unit automatically detects the type
of socket module installed. If the part does not support the installed socket, MPLAB
PM3 will list the appropriate sockets to use.
Note 1:MPLAB PM3 allows hot swapping of socket modules. If the status LED is
not lit, feel free to switch sockets.
2: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).
5.2.2Downloading a Hex File into MPLAB PM3 Memory
To set up MPLAB PM3 for Stand-Alone mode, you will need either a PC to download
the hex file or a master device to read into MPLAB PM3 memory. Refer to Chapter
2. “Installing MPLAB PM3” and Section 4.5.3 “Loading the Hex Code into Program Memory” for instructions on connecting MPLAB PM3 to a PC and downloading
a hex file, respectively.
Now you are ready to use MPLAB PM3 in Stand-Alone mode.
After applying power to MPLAB PM3, the unit briefly displays the MPLAB PM3 splash
screen and versions screen. Then, MPLAB PM3 displays the Main menu.
FIGURE 5-1:MPLAB
• Recently Used
• Select Device
• MPLAB PM3 Card (if inserted)
• Programmer Settings
•Help
®
PM3 MAIN MENU
MPLAB
Recently Used
Select Device
MPLAB PM3 Card
Programmer Settings
Help
®
PM3
5.3.1Recently Used
Select “Recently Used” to retrieve the last device used in MPLAB PM3. This option displays the seven most recently used devices and enables quick access to the Command
menu for the device.
5.3.2Select Device
Select “Select Device” to indicate the device family and then, the device that is to be
programmed. After the device is selected, MPLAB PM3 will display the Command
Menu with commands that are applicable to the device type and its features, such as
Program/Verify Device, Verify Device and All Functions.
5.3.2.1PROGRAM/VERIFY DEVICE
Select “Program Verify Device” to program the device in the socket module with the hex
file that was previously loaded into the internal memory of the device programmer. This
is referred to as the image. If the hex file has not been loaded, the system displays a
message stating “Valid image not present! Please download an image or use a master
device before continuing”. Download the hex file desired for programming the device
into MPLAB PM3 before attempting to continue.
The device programmer checks to see if the installed microcontroller device is blank. If
the device is not blank, the device programmer asks if you want to continue. Answer
“Yes” to continue. Answer “No” to return to the Command menu.
If a flash device is in use, the device will immediately be programmed with the image
in the MPLAB PM3. If a One-Time Programmable (OTP) device is being used and the
Blank Check Override is enabled on MPLAB PM3, two options (Stop Programming and
Continue) will display if the device is not blank. Select “Stop Programming” if you do not
wish programming to continue. Otherwise, select “Continue” and the device will be programmed.
MPLAB PM3 programs the image of the hex file into the microcontroller device connected to the programmer.
Programming is performed at the VDD Applied, the VDD minimum and maximum voltages (OTP devices) or V
ating range for the device. See Section 8.5.3.7.3 “Adjust Voltages” if the verification
needs to be performed at different voltage settings. Verification of the device against
the MPLAB PM3 image occurs immediately after programming, along with the display
of the resulting checksum if both have been successful.
If errors occur during programming or verification, the first address of each memory
area that failed will be reported on the LCD.
5.3.2.2VERIFY DEVICE
Select “Verify Device” to compare the contents of the device to that of the MPLAB PM3
memory (image). This comparison is performed at the V
maximum voltage (OPT devices) or V
default per the operating range for the device. See Section 8.5.3.7.3 “Adjust Volt-ages” if the verification needs to be performed at different voltage settings.
If the content of the device matches the MPLAB PM3 image, the message “Passed!”
and the resulting checksum are displayed on the LCD. If not, the first address of each
memory area that failed will be reported on the LCD.
5.3.2.3READ DEVICE
Select “All Functions” then “Read Device” to retrieve the contents of the device and
place it into the MPLAB PM3 memory. This image can then be used to program successive devices with the same information or the information can be code-protected
then used for programming.
If the device is code-protected, a message stating that the device is code-protected will
be displayed on the LCD and the contents will not be placed into the MPLAB PM3
memory. However, the resulting checksum will be included in the display if this option
has been enabled in the Programmer Settings.
If the device is not code-protected, the contents will be placed into the MPLAB PM3
memory. Two options (No and Code Protect All?) will be displayed on the LCD along
with the resulting checksum. Select “No” if code protection of the current or successive
devices in not desired. Otherwise, select “Code Protect All?” if code protection of the
current or successive devices is desired.
After selecting either code protection option, the display returns to the “Read Device”
option. Press the <ESC> key to return to the Command menu for the device. If code
protection was selected, “Program Verify Device” must be used to program the current
or successive devices with the code-protected image in the MPLAB PM3 memory.
DD Nominal that has been established as the default per oper-
DD Applied, VDD minimum and
DD Nominal that has been established as the
5.3.2.4ALL FUNCTIONS
Select “All Functions” to display all of the stand-alone commands that are applicable to
programming, reading, verifying and displaying the status of the currently selected
device. See Section 8.5.3 “All Functions” for details on each of the options that may
be available for the device.
If a memory card is inserted into MPLAB PM3, the Main menu included the MPLAB
PM3 Card option. Selecting this option displays these additional options. Refer to
Section 9.4 “MPLAB PM3 Card in Stand-alone Mode” for details on these options:
• Load an Environment
• View an Environment
• View Disk Contents
• Open a test File (*.txt)
• Card Properties
5.3.4Programmer Settings
From the Programmer Settings option on the Main menu, you can access these
options. Refer to Section 8.4.3 “Programmer Settings” for more details.
• Screen Contrast
•Buzzer Volume
• Socket Information
• Checksum Calculation
• Device ID Option (Beta)
• Blank Check Override
• Go Pin Functionality
5.3.5Help
The Help option displays the version number of the MPLAB PM3 OS Suite running on
MPLAB PM3 and these submenu options. Refer to Section 8.4.4 “Help” for details.
This chapter describes the MPLAB PM3 Card functions and introduces the concept of
an Environment.
The MPLAB PM3 Card is a multimedia, stamp-sized, Flash memory card that weighs
approximately 2 grams. It provides:
• portable means to store and transfer information
• fast copy/download
• high storage capacity
• nonvolatile solid-state; data is not lost when power is turned off
• write-protect switch on the card casing (for SD cards only)
Using the MPLAB PM3 Card allows you to store information onto the MMC card, send
it to a manufacturer, have them place it in their MPLAB PM3 and program Microchip
microcontrollers without ever touching a PC.
The MPLAB PM3 device programmer uses a new concept called an MPLAB PM3
Environment. An Environment is a snapshot of the current programming settings for a
specific device. It contains all the necessary information to recreate the current
programming state, including a binary image of the device’s memory data, links to an
optional SQTP file, specific part information and optional miscellaneous files.
When an Environment is saved, a directory is created on the removable MPLAB PM3
Card (an SD-MMC memory card), on the selected drive on a PC or another storage
device. The name of the directory created is the same as the name given to the
Environment file. Figure 6-1 illustrates the layout of an Environment.
As an introduction to environments, this covers:
• Creating an MPLAB PM3 Environment on the MPLAB PM3 Card
• Loading an MPLAB PM3 Environment into the MPLAB PM3 programmer
There are additional operations, such as viewing, copying and deleting Environments.
Refer to Chapter 9. “MPLAB PM3 Card Reference” for specific instructions for each
of these operations.
FIGURE 6-1:LAYOUT OF AN ENVIRONMENT
Environment
PM3 File
(*.pm3)
Programmer
Settings
Device
Memory
Image
(*.bin)
An Environment is the encapsulation of the environment file (*.pm3), the binary bin file
(*.bin), optional SQTP num file (*.num) and miscellaneous files.
The PM3 file (*.pm3) is a part of the Environment. It is the high-level file that contains
MPLAB PM3's settings, name of the bin file and name of the SQTP file.
The device’s image (binary file) is the data that should be programmed into the device.
It is the same continuous data chunk that is sent between MPLAB IDE and
MPLAB PM3 during a standard operation. Error detection mechanisms are also
attached.
6.2.1Creating an MPLAB PM3 Environment on the MPLAB PM3 Card
An Environment can be created in MPLAB IDE and saved to the MPLAB PM3 Card,
your hard drive or other storage device. Multiple Environments can be created, each
with its unique name and settings. When an Environment is created and saved, the
environment file and all associated files are saved into the same folder.
To create and save an MPLAB PM3 Environment on the MPLAB PM3 Card using
MPLAB IDE:
1. Open a workspace or import a hex file into MPLAB IDE. Refer to the MPLAB IDE
on-line help for additional information.
2. If the MPLAB PM3 programmer is not already enabled, select
Programmer>Enable Programmer
3. Select Configure>Select Device
device for which you wish to create an Environment. (See
Section 2.5.4 “Selecting a Device in MPLAB IDE” for additional information.)
4. Select Programmer>Settings
settings, such as the memory ranges, voltages or SQTP. (See
Section 7.5 “Programmer Settings” for additional information.) When finished,
click OK to close the Programmer dialog.
6. Enter a name for your environment into the “Environment Name” field. The
Environment name can be a maximum of 127 characters.
7. (Optional) Click Browse in the “Misc. Files” field and select a maximum of 10 files
(.txt, .hex, etc.) you want to associate with the Environment.
8. (Optional) Enter a brief description into the “Description” field.
9. Click Browse in the “Destination” field and select “MPLAB PM3 CARD” as the
destination.
Note:The destination can also be your hard drive or another storage device.
10. Click OK to close the Environment Destination dialog.
11. Click Save to save the environment to the MPLAB PM3 Card. Once successfully
created, the Output window will display “Environment Name has been created”.
12. Click Close to close the Save Environment dialog.
6.2.2Loading an MPLAB PM3 Environment into the MPLAB PM3
Programmer
You can load an Environment from the MPLAB PM3 Card into the MPLAB PM3
programmer using either the MPLAB IDE software or Stand-Alone mode.
6.2.2.1USING MPLAB IDE TO LOAD AN ENVIRONMENT
1. Ensure the MPLAB PM3 Card is fully inserted into the SD-MMC card slot on the
back of the MPLAB PM3 programmer, the programmer is powered on and the
programmer is enabled through the MPLAB IDE Programmer menu.
2. From the MPLAB IDE Main menu, select Programmer>Environment>Load
open the Load Environment window.
3. Expand the MPLAB PM3 Card directory to display the *.pm3 file you want to load
into the programmer.
4. Select the *.pm3 file you wish to load and click OK.
5. When complete, the Load Environment window closes and a completion
message displays in the Output window.
6.2.2.2USING STAND-ALONE MODE TO LOAD AN ENVIRONMENT
1. Ensure the MPLAB PM3 Card is fully inserted into the SD-MMC card slot on the
back of the MPLAB PM3 programmer and the programmer is powered on.
2. From the MPLAB PM3 Main menu, select MPLAB PM3 card and press
<ENTER>.
3. From the MPLAB PM3 card menu, select Load an Environment and press
<ENTER>.
4. From the PM3CARD:\*.pm3 menu, select your Environment folder and press
<ENTER>.
5. Select your Environment.pm3 from the your Environment folder and press
<ENTER>.
The MPLAB PM3 Card is an MMC card formatted, FAT16-based file system for
cross-readability through an external reader. MPLAB IDE is able to communicate to the
MPLAB PM3 Card through both serial and USB interfaces. The MPLAB PM3 Card can
also be accessed through the MPLAB IDE software or through the MPLAB PM3
programmer in Stand-Alone mode.
6.3.1MPLAB PM3 Card Through MPLAB IDE
Through the MPLAB IDE Programmer menu, you can perform these operations on the
MPLAB PM3 Card:
• List files – displays a list of files on the MPLAB PM3 Card
• Format – formats MMC cards in FAT16 format. This operation erases any data
that may be stored on the MPLAB PM3 Card and formats the card to the standard
FAT16 format.
• Properties – displays the properties of the MPLAB PM3 Card including card
capacity, bytes free, bytes used and cluster size.
For detailed instructions, see Section 9.3 “MPLAB PM3 Card Through MPLAB IDE”.
6.3.2MPLAB PM3 Card Through MPLAB PM3 Programmer
Using the MPLAB PM3 Card
In Stand-Alone mode, you can perform these operations on the MPLAB PM3 Card:
• View Disk Contents – displays the contents of the MPLAB PM3 Card on the
MPLAB PM3 LCD screen
• Open a text File (*.txt) – displays the first 10 lines (approximately) of text from the
selected text file on the programmer’s LCD screen
• Load an Environment – loads the selected Environment stored on the
MPLAB PM3 Card into the MPLAB PM3 programmer
• View an Environment – displays information including the device, memory files
and description of an Environment stored on the MPLAB PM3 Card
• Card Properties – displays the properties of the MPLAB PM3 Card including card
capacity, bytes free, bytes used and cluster size
For detailed instructions, see Section 9.4 “MPLAB PM3 Card in Stand-alone Mode”.
Position the mouse pointer over the toolbar item to display the name. Table 7-1 lists the
items on the toolbar.
TABLE 7-1:MPLAB
SymbolCommandDescription
Blank Check AllChecks that the device is completely blank (all bits are set to
ReadReads the device. (Same as Programmer>Read.)
ProgramPrograms the device. (Same as Programmer>Program
VerifyVerifies that the device was programmed properly. (Same as
Erase Flash DeviceErase all memory on a Flash Device. (Same as
Program StatisticsProvides the number of programming attempts: passed,
SQTP File PathDisplays the Serial Quick Turn Programming (SQTP) file
®
PM3 TOOLBAR COMMANDS
‘1’). This will also check that all Configuration bits are set to
‘1’ (unprogrammed state). (Same as Programmer>Blank
Check All.)
Programmer>Verify
Programmer>Erase Flash Device
failed and total. To clear the values in this display, select
Programmer>Reset Program Statistics
path.
.)
.)
.)
.
7.3CONFIGURE MENU
The Configure Menu is an MPLAB IDE menu used in conjunction with the MPLAB PM3
Programmer Menu. Refer to the MPLAB IDE documentation for detailed information.
The Configure Menu consists of five dialog selections listed in Table 7-2.
TABLE 7-2:CONFIGURE MENU
SelectionDescription
Select DeviceSelect the device.
Configuration BitsSelect values for the device Configuration bits. Setting these values will
External MemorySelect whether to use external memory or not. Also specify external
ID MemoryEnter value into ID memory.
SettingsEnter default setting for the workspace, debugger, program loading, hot
Once the MPLAB PM3 programmer is selected, the full programmer menu displays (see
Table 7-3). The programmer must be enabled to make additional options available.
Some of the MPLAB PM3 options are accessible through the MPLAB PM3 Toolbar
.
TABLE 7-3:MPLAB
SelectionDescription
Select ProgrammerLists the available programmers.
Enable ProgrammerEnables the programmer.
Disable ProgrammerDisables the programmer.
ProgramTransfers the hex data file to the programmer and programs the
VerifyVerifies that the device was programmed properly.
ReadReads the device content. Selective read (e.g., part of program
Blank Check AllChecks that the device is completely blank (all bits are set to ‘1’).
Blank Check OTPThis function is intended for use with OTP devices that come
Erase Flash DeviceErase all memory on a Flash device.
Reset Program StatisticsResets the counters in the Program Statistics area.
Transfer to MPLAB PM3Transfers the image of the MPLAB IDE’s memory to the
Transfer from MPLAB PM3 Transfers the image of the programmer’s memory to MPLAB
Establish
Communications
Load SQTP FileAllows the user to select a previously defined SQTP file. Refer to
AboutDisplays the OS Suite version of MPLAB PM3.
EnvironmentDisplays a submenu of operations the can be performed on the
MPLAB PM3 CardDisplays a submenu of operations that pertain to the MPLAB
SettingsOpens the Programmer dialog, which allows setting the memory
®
PM3 MENU
device. Selective programming (e.g., part of program memory, or
only Configuration bits) can be configured with the “Programmer
Settings” option below.
memory, only Configuration bits of the device) can be done by
setting up “Settings” below.
This will also check that all Configuration bits are set to the
default value.
with factory programmed Configuration bits. Before using this
function, set the displayed Configuration bits to match the
factory programmed settings. The function verifies that all
program memory bits are set to ‘1’ and that the Configuration
bits match the settings displayed in the Configuration Bits dialog.
programmer, but does not program the device. This is useful for
stand-alone operation.
IDE, but does not read the device memory. This is useful for
reading back the memory after working in Stand-Alone mode.
Resets the programmer hardware and reestablishes
communications. Use this option if power has been
disconnected from the programmer. This option does not reset
programming information in the Program Memory window,
Configuration bits or IDs.
Using SQTP.
environment. See Chapter 9. “MPLAB PM3 Card Reference”
for more information on the environment operations.
PM3 Card. See Chapter 9. “MPLAB PM3 Card Reference” for
more information on the MPLAB PM3 Card operations.
ranges and voltage specs, SQTP and communication ports.
Programmer options Program, Read, Verify, Transfer to MPLAB
PM3 and Transfer from MPLAB PM3 will be limited to these
settings until reset.
To select the MPLAB PM3 programmer, select Select Programmer>MPLAB PM3.
Once the programmer is selected, the Output window opens.
7.4.2Enable Programmer
To enable the MPLAB PM3 programmer, select Programmer>Enable Programmer.
If updates are available for the programmer firmware, MPLAB IDE may display a
prompt to update. If auto download has been set in the Configuration dialog,
MPLAB IDE will automatically update the necessary files.
Once the MPLAB PM3 programmer is selected, the full menu displays. Enable the
programmer to make additional menu items available. Some of the MPLAB PM3 menu
items are similar to buttons on the MPLAB PM3 Toolbar.
7.4.2.1OUTPUT WINDOW
When you select Programmer>Select Programmer>MPLAB PM3
PM3 menu or select View>Output
opens. This window contains tabbed information about program output. Refer to the
MPLAB IDE documentation for more information.
The menu items in the Output window available from the right mouse button menu are:
• Select All – Selects all text and graphics in the Edit window.
• Copy – Copies the selected text in the current window onto the clipboard. After
this operation, paste the copied text into another MPLAB Editor window, into
another location in the same MPLAB Editor window, or into another Windows
application.
• Clear Page – Clears the contents of the Output window.
7.4.2.2PROGRAM MEMORY WINDOW
When you select View>Program Memory
Memory window (Figure 7-2) opens in machine code view.
You can view the Program Memory as hex code, machine code or disassembled with
symbols (if available). Change the display mode by clicking on the Display Option
button in the lower left corner of the window.
When the MPLAB ICE emulator is selected as the Debugger, the Program Memory
window shows the data that is in the emulation memory of the MPLAB ICE pod. This
memory is read by the MPLAB ICE probe when run, single stepped or traced using the
emulator.
When the simulator is selected as the Debugger, the Program Memory window reflects
the contents of a memory buffer on the PC. This memory is read by MPLAB SIM when
run, single stepped or traced.
If program memory is read with the MPLAB PM3 programmer while in emulator or
simulator mode, it will overwrite the program memory being emulated or simulated.
This can cause “mismatches” between the program memory and debug information if
an MPLAB IDE project is open. The system displays an option to either close the current MPLAB IDE project or to continue and read the device’s memory into the Program
Memory window. Subsequent debug operations might not work properly.
7.4.3Disable Programmer
To disable the MPLAB PM3 programmer, select Programmer>Disable Programmer.
7.4.4Program
Select Programmer>Program to program the entire device (i.e., all of the program
memory, Configuration bits, etc.).
To program selectively (e.g., part of program memory, only Configuration bits), select
Programmer>Settings
Ranges tab and select the options for programming. Areas that are grayed out are not
available on the device. Click OK. Then select Programmer>Program
device. The memory area corresponding to the checked boxes will be programmed.
After MPLAB PM3 programs a device, it automatically performs a verify operation and
displays any errors found. An additional verify operation may be done via selecting
Programmer>Verify
to open the Programmer Settings dialog. Click the Memory
to program the
.
7.4.5Verify
To verify the programming on the device, select Programmer>Verify. This verifies that
the programming on the device matches the program memory, Configuration bits, ID
locations, EEPROM and calibration memory values in MPLAB IDE and in the Settings
dialog and Configuration Bits dialog.
If there are more errors than expected and those errors claim that the bad data is all
zeros (0000), the socket module might not be seated properly. Remove and reseat the
socket module. It is always a good practice to insert a known blank device and do a
Blank Check whenever the socket module is changed.
When the programming is finished, “Programming/Verification completed successfully!” will be displayed in the Output window. If the programming failed,
an error message will appear showing the good (expected) data and the bad (actual)
data for each address it attempted to program.
To copy the firmware from a programmed PIC MCU device into an unprogrammed
device, read the programmed firmware (program memory, Configuration bits, etc.) into
MPLAB IDE, then program the new device based on this information.
To read the entire device (i.e., all of program memory, Configuration bits, etc.), click
Programmer>Read
To read selectively (e.g., part of program memory, only Configuration bits), select
Programmer>Settings>Memory Ranges
the options to be read, then click OK in this dialog. Areas that are grayed out are not
available on the device. Then, select Programmer>Read
corresponding to the checked boxes will be read.
Once the Read is complete, the Program Memory window will display the data read
from the device master. Save that data as a hex file and insert a new device into
MPLAB PM3 to copy that same data into a new device, or modify the data in MPLAB
IDE before saving to a hex file or program another device.
Attempting to read a code-protected device displays a warning indicating that the
device is code-protected, and that the program memory may be invalid. If this happens,
obtain the original hex code from a file or a non-protected device.
If an MPLAB ICE emulator is connected to MPLAB IDE, the code will be downloaded
to the emulated program memory of the MPLAB ICE. If a project is open, the system
asks if you want to close it before reading memory from a device.
.
to display the Memory Ranges dialog. Select
. The memory area
Note:If the project is kept open, the Absolute Listing window and the Source
Code window may not match the data previously read into the Program
Memory window. Symbols may not match the proper addresses in the
Program Memory window.
7.4.7 Blank Check All
After inserting the device in the socket, select Programmer>Blank Check All from the
MPLAB PM3 menu. This check will verify that the device is completely blank (all bits
are set to
When complete, the results will be displayed in the Output window, for example:
If using a One-Time Programmable (OTP) device, some Configuration bits (e.g.,
oscillator bits) might have already been programmed at the factory. Make sure the
Configuration bits are set to the factory settings and select Programmer>Blank Check OTP. This will check that all program memory bits are set to ‘1’, and that the
Configuration bits match the value in the dialog. An OTP device cannot be erased and
reprogrammed.
‘1’) and all Configuration bits are set to the default value.
If the EPROM device is not blank, erase it before programming, or select another
device:
1. Remove any labels covering the device window. A non-windowed device cannot
be reprogrammed. A windowed version of all EPROM devices may be ordered
by requesting the JW package.
2. Place the device in an Ultraviolet (UV) EPROM Eraser. The amount of time
required to completely erase a UV erasable device depends on: the wavelength
of the light, its intensity, distance from UV source and the process technology of
the device (how small the memory cells are).
3. Before attempting to program the device, perform the Blank Check again to verify
that it is blank.
Note:If the device is EEPROM or Flash, it is not necessary to erase it before
reprogramming it. These devices are electrically erased before
programming.
7.4.8Erase Flash Device
With the device inserted the socket, select Programmer>Erase Flash Device from the
MPLAB PM3 menu. Then, select Programmer>Blank Check All
menu. This check will verify that the device is completely blank (all bits are set to
and all Configuration bits are set to the default value.
from the MPLAB PM3
‘1’)
7.4.9Reset Program Statistics
To reset all the program statistics, select Programmer>Reset Program Statistics. This
command will reset the counters in the Program Statistics area.
7.4.10Transfer to MPLAB PM3
To transfer the hex file to the programmer, select Programmer>Transfer to MPLAB
PM3. This command only transfers the data, it does not program the device. This is
usually used for stand-alone operation.
7.4.11Transfer from MPLAB PM3
To transfer the programmer memory to the hex file, select Programmer>Transfer from
MPLAB PM3. This command only transfers the programmer memory, it does not read
the device memory. This is especially useful for reading the programmer memory back
after working in Stand-Alone mode.
7.4.12Establish Communications
To establish communications between the PC and MPLAB PM3 after power has been
disconnected from the programmer, select Programmer>Establish Communications
This command resets the programmer hardware and reestablishes communications. It
does not reset programming information in the Program Memory window, Configuration
bits or IDs.
.
7.4.13About
Select Programmer>About to display version of the MPLAB PM3 OS Suite in the
programmer.
Certain voltages may be viewed/set for Flash devices (see Table 7-5) and Non-Flash
devices (see Table 7-6). Other voltages are applicable to both types of devices (see
Table 7-7). For Information on changing voltage settings and using low voltage programming, see Section 7.5.2.1 “Changing Voltage Settings” and
Section 7.5.2.2 “Using Low Voltage Program”, respectively.
TABLE 7-5:FLASH DEVICES
SelectionDescription
VDD APPThis is the voltage used by the programmer to verify Flash
TABLE 7-6:NON-FLASH DEVICES
SelectionDescription
VDD MinThis voltage and VDD Max are used by the programmer to
VDD MaxThis voltage and VDD Min are used by the programmer to
memory. The default is the device's nominal voltage value.
verify memory in EEPROM devices. The value should be the
minimum voltage for the designated circuit. The default is the
device's minimum voltage value.
verify memory. The value should be the maximum voltage for
the designated circuit. The default is the device's maximum
voltage value.
TABLE 7-7:ALL DEVICES
SelectionDescription
VDD NomThis is the voltage at which the device is programmed. This
should be the average voltage at which the system will run.
The default is 5 volts.
PPThis is the voltage used to bring the device into a program-
V
ming mode. Although this is dependent of the device's
programming specification, it may be changed. If “Low
Voltage Program” is selected, this is changed to
by the programmer.
Reset VoltagesResets all voltages to their default values.
Low Voltage ProgramIn ICSP™ mode, select this checkbox to perform Low Volt-
age programming. Low Voltage programming uses a dedicated pin to enter into the programming mode versus a high
PP. This check box is ignored when a socket is
Power Target Circuit from
MPLAB PM3
voltage on V
installed.
In ICSP mode, this allows the target circuit to be powered
from MPLAB PM3 to supply power for programming. This
check box is ignored when a socket is installed.
Change voltage settings only if the application runs at the extreme voltage operating
range. Most users will never need to change the default voltage settings.
• Flash Devices: V
• Non-Flash Devices: V
programmed microcontroller devices will be verified.
•V
DD NOM is the voltage at which the device will be programmed.
•
VPP is the voltage at which the device will enter programming mode.
Select Programmer>Settings
voltage settings. To change a voltage, select the desired V
maximum or
Note:The voltage range and default voltage setting may be different for each
microcontroller device type. Refer to the device programming specification
for voltage values for each device.
Use Serial Quick Turn Programming (SQTP) to program a unique serial number into
each device. This number can be used as an entry code, password or ID number.
Select Programmer>Settings
programming for the device (Figure 7-5). Also see Section 7.6.1 “Using SQTP”.
FIGURE 7-5:SQTP TAB
and click on the SQTP tab to view or set up SQTP
TABLE 7-9:SQTP MENU
SelectionDescription
RandomSelect this option to generate unique, random numbers for
each part.
Pseudo-Random
Seed Value (Hex)
Sequential
Start Value (Hex)
Increment (Hex)
Start Address (Hex)Enter the starting address (in hex) for the serial number.
Number of Words (Dec)Enter the size of the serial number. Make sure a large
Number of Parts (Dec)Enter the number of parts to be programmed using this file.
GenerateOpens the Save SQTP File As dialog.
Select this option to generate a pseudo-random set of
non-repeating numbers based on the seed value specified.
Select this option to generate sequential numbers based on
the starting value specified and incrementing each number
by the amount specified.
enough serial number is specified for the number of parts
planned to program using this file.
To set the port for communications between the programmer and the PC, select
Programmer>Settings
between the programmer and the PC may be either over a serial connection or a USB
connection.
Note:Do not physically connect both.
The Windows COM port setup requires special attention. The proper drivers must be
installed and the port may need to be set up manually. For additional information on the
communication port setup, refer to Section 2.3.1 “Installing the Communications
Cable”, Section 2.5 “Configuring MPLAB IDE for Use with MPLAB PM3” and
B.5.1 “Failure to Establish Communication with Programmer”.
7.5.4.1SERIAL COMMUNICATION
To use RS-232 (serial) communications between the PC and the MPLAB PM3 device
programmer, select the
COM1 is the default. Click OK.
FIGURE 7-6:SERIAL COM PORT
and click on the Communications tab. Communications
PC COM port for use: COM1, COM2, COM3 or COM4 (Figure 7-6).
To make sure the port is set up properly, follow the instructions in the “For RS-232
Communications” subsection in Section 2.3.1 “Installing the Communications
Cable”.
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. Follow the procedure specified
in Section 2.2 “Installing MPLAB PM3 Software”.
FIGURE 7-7:USB PORT
USB port (Figure 7-7). 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”.
7.5.4.3SWITCHING THE COMMUNICATION MODE
If MPLAB PM3 is enabled in one mode of communication (USB or serial) and you wish
to switch to the other mode, do the following:
1. Deselect the programmer in MPLAB IDE (Programmer>Select Programmer>None).
2. Turn the MPLAB PM3 programmer off and physically change the
communications cable connection. If not already done, install the proper drivers.
3. Turn the MPLAB PM3 programmer back on.
4. Reselect the programmer (Programmer>Select Programmer>MPLAB PM3
5. Select the other mode of communication (Programmer>SettingsCommunications tab).
6. Enable the programmer (Programmer>Enable Programmer
To set MPLAB PM3 to automatically download any firmware updates, select
Programmer>Settings
the Auto Download Firmware check box for new firmware to be automatically
downloaded upon starting MPLAB PM3.
FIGURE 7-8:CONFIGURATION TAB
and click on the Configuration tab (Figure 7-8). Then, select
If you do not want firmware updates to automatically download, leave the checkbox
empty. If there are updates available, the system will prompt to download.
It is recommended that MPLAB PM3 automatically detect and notify of any upgrades.
Normally, it is not necessary to manually update the OS Suite for the MPLAB PM3
programmer; however, if you need to revert to an earlier OS Suite version, select
Programmer>Settings
Download button. If this option is selected, the system will prompt with an auto update
notice (Figure 7-9). To continue with the download, click Yes, or click No to cancel.
FIGURE 7-9:MANUAL DOWNLOAD
Clicking Yes opens a Browse window to select the appropriate file from the MPLAB IDE
directory. The format of the OS Suite file is pm3nnnnnn.mjc, where nnnnnn is the OS
Suite version.
and click on the Configuration tab. Then, click the Manual
7.6SPECIAL PROGRAMMING
7.6.1Using SQTP
Serialization of devices is done by using a series of RETLW (Return Literal W)
instructions, with the serial number bytes as the literal data. To serialize, first generate
a serialization file, and then use that file to serialize locations in the device
microcontroller. Using SQTP includes these steps:
• Generating the SQTP File
• Activating Serialization
• Programming the Device
Refer to Section 7.7.1 “Using Hexadecimal Record Formats” for more information
on hex record formats.
2. Fill in the appropriate values for the type of SQTP file.
TABLE 7-10:SQTP MENU
SelectionDescription
RandomSelect this option to generate unique, random numbers for
each part.
Pseudo-Random
Seed Value (Hex)
Sequential
Start Value (Hex)
Increment (Hex)
Start Address (Hex)Enter the starting address (in hex) for the serial number.
Number of Words (Dec)Enter the size of the serial number. Make sure a large enough
Number of Parts (Dec)Enter the number of parts to be programmed using this file.
GenerateOpens the Save SQTP File As dialog.
Select this option to generate a pseudo-random set of
non-repeating numbers based on the seed value specified.
Select this option to generate sequential numbers based on
the starting value specified and incrementing each number by
the amount specified.
serial number is specified for the number of parts planned to
program using this file.
3. Click Generate. The Save SQTP File As dialog opens.
4. Select the location and file name for the file and click Save.
The SQTP file will contain a line for each part; if specified for 1,000 parts or
devices, the file will contain 1,000 lines, each with a unique serial number.
Select Programmer>Load SQTP File
enable serialization for the current programming session.
After enabling serialization, the serial number that will be programmed into the next
device can be seen at the program memory address specified when the SQTP file was
generated. Look for the RETLW instruction in the Program Memory window.
7.6.1.3PROGRAMMING THE DEVICE
After loading the SQTP file, simply select Programmer>Program
When the device is programmed, the Program Memory window will display the next
serial number. If the last serial number in the file has been used, a message will appear
and serialization will be disabled.
When a serial number is used, the SQTP file is marked by replacing the colon for that
entry with a semicolon so that MPLAB PM3 will skip that line during later programming
sessions. To use the same SQTP file over multiple programming sessions without
repeating any numbers, generate an SQTP file with many more parts than will be
programmed in a single session. For example, if an SQTP file for 10,000 parts was
generated and only 1,000 parts are programmed in each session, the file can be used
ten times.
to choose the SQTP file to use. Click Open to
to program a device.
7.6.2Using ICSP
MPLAB PM3 comes equipped with an ICSP pin header and cable. Attach the ICSP
cable to the connector located between the two socket module connectors on
MPLAB PM3. A socket module cannot be installed while using the ICSP connection.
Note:Since MPLAB PM3 has ICSP built in, the PRO MATE II ICSP Socket Mod-
ule (AC04004) and MPLAB PM3-to-PRO MATE II device adapter cannot be
used.
7.6.2.1USING LOW VOLTAGE PROGRAM
MPLAB PM3 allows Low Voltage Programming (LVP) with certain PICXXFXXX Flash
devices. The Flash device selected must be capable of low voltage and programming
must be performed in ICSP mode. Refer to the specific device’s specification and the
“In-Circuit Serial Programming™ (ICSP™) Guide” (DS30277).
• Selection is transferred from MPLAB IDE to MPLAB PM3 by performing a Blank
Check, read, program, verify or transfer to MPLAB PM3. Transfer from the programmer will not update the checkbox in MPLAB IDE.
• Setting of the low voltage checkbox has no impact on the enabling/disabling of the
MPLAB PM3 can use information directly from MPLAB IDE projects without any
intermediate steps. MPASM assembler can be used separately from MPLAB IDE to
produce hex files for MPLAB PM3. Alternatively, devices can be programmed with hex
files from any PICmicro MCU-compatible cross-assembler or cross-compiler.
If using MPASM assembler separate from MPLAB IDE, or generating hex files from
within MPLAB IDE for use later with MPLAB PM3, use either INHX8M or INHX32 hex
formats. MPASM assembler’s default output format for hex files is INHX32.
If programming PIC17CXXX, PIC18CXXX or PIC18FXXX devices, use INHX32 format.
See the “MPASM™ Assembler, MPLINK™ Object Linker, MPLIB™ Object Librarian User’s Guide” (DS33014) for details on file formats.
7.7.1Using Hexadecimal Record Formats
The following provides the proper file format for the PICmicro MCU device families.
Make sure the assembler or compiler is configured to generate hex files in the proper
format. MPLAB PM3 uses the formats described in Table 7-11.
TABLE 7-11:PICmicro
Device FamilyFile Format
PIC16C5X/6XUses INHX8M
PIC17CXXUses INHX32
PIC18XXXUses INHX32
Firmware DownloadsUses INHX32
®
MCU DEVICE FAMILY FILE FORMATS
Each hexadecimal data record has the following format:
:BBAAAATTHHHH....HHCC
TABLE 7-12:HEX DATA RECORD FORMAT
Record FormatDescription
:Start character (prefix)
BB2-digit byte count specifying the number of data
blocks in a record
AAAA4-digit starting address of the data record
TT2-digit record type:
00 = Data record
01 = End of file record
02 = Segment address record
04 = Extended linear address record
(INHX32)
HHHH....HH2-Digit data blocks
CC2-Digit checksum. Two's complement of the sum of
all preceding bytes in the data record except the
colon (start character).
INHX8M
The data record is output as described above.
INHX32
The extended linear address record is output to establish upper 16 bits of data address.
It may be necessary to upgrade the MPLAB PM3 operating system if:
• MPLAB IDE indicates that there is a newer version of the MPLAB PM3 operating
system when attempting to enable MPLAB PM3
If Automatic Update is enabled (see Section 7.5.5 “Configuration Tab”), the following message will appear in the Output window if an upgrade is found:
An upgrade for your MPLAB PM3 has been detected and is being
downloaded now.
If Automatic Update is disabled, the following message will appear in a message box
with Yes and No options:
An upgrade for your MPLAB PM3 has been detected. Would you
like to upgrade now?
Select Yes to update or No to not allow the update.
When updating the operating system, MPLAB PM3 may click or beep a couple times
while MPLAB IDE is updating the programmer.
“Downloading xx to MPLAB PM3: nn% Completed” is displayed and continually
updated in the bottom of the Output window, where “xx” is either the BIOS, Operating
System or Database and “nn” is a number between 0 and 100. “Downloading Now” is
displayed on the MPLAB PM3 LCD, along with an activity indicator in the top right
corner of the LCD. Downloading may take a couple of minutes.
When the upgrade is complete, the “Download Complete” message will display in
the Output window. The MPLAB PM3 programmer is now ready to use.
The updated version of the operating system is in the MPLAB PM3 directory. The latest
version of MPLAB IDE, which contains the latest MPLAB PM3 operating system can
be obtained from our web site at www.microchip.com. Click Development Tools and
find MPLAB PM3 listed under Hardware. Near the bottom of the MPLAB PM3 page find
the latest operating system update.
This chapter describes how to use the MPLAB PM3 device programmer in Stand-Alone
mode. The device programmer provides an LCD interface that gives you complete
control over a programming session. Topics covered in this chapter include:
• MPLAB PM3 LCD and Keys
• Start-Up Sequence
• Main Menu
• Command Menu
8.2MPLAB PM3 LCD AND KEYS
The front panel of the programmer looks similar to Figure 8-1.
MPLAB® PM3
USER’S GUIDE
FIGURE 8-1:MPLAB
LEDs
STATUS
POWER
ESCENTER
Move Up
8.2.1LCD
®
PM3 FRONT PANEL
LCD
M
Move Down
MPLAB PM3
Device Programmer
ICSP™ Connector
®
Socket Module
Connectors
The graphical LCD is a 128 x 64 pixel screen which displays information on a blue
background. The selection bar highlights the entire line. When you press <Enter> on a
line ending with a right-pointing triangle, a submenu is displayed. When you press
<Enter> on a line ending with two greater-than symbols (>>), the action is performed.
MPLAB PM3 provides four keys for navigation. The function of each key is:
• <ESC> – return to the previous menu or entry.
• <Up> – moves the selection bar up one line each time it is pressed.
• <Down> – moves the selection bar down one line each time it is pressed.
• <Enter> – performs the selected function.
8.3START-UP SEQUENCE
When power is applied to the MPLAB PM3 programmer, it initiates a start-up sequence.
The system performs a self-check, briefly displays the splash screen, then the
versions, followed by the MPLAB PM3 Main menu. If you do not get to the Main menu,
see Appendix B. “Troubleshooting”.
Note:If you need to update the operating system, you will have to connect to a
PC with MPLAB IDE running to accomplish this.
Once the start-up sequence has completed, you will see the Main menu:
8.4MAIN MENU
The Main menu gives you these options:
• Recently Used
• Select Device
• Programmer Settings
•Help
8.4.1Recently Used
To display the most recently used devices:
1. Select (highlight) the “Recently Used” option and press <Enter>. Up to seven of
the most recently used devices are listed.
2. To continue using this device, press <Enter>.
3. The system displays the Command menu. See Section 8.5 “Command Menu”.
8.4.2Select Device
To select a specific device, you must:
1. Select (highlight) the “Select Device” option and press <Enter>.
2. Select the device family and press <Enter>.
3. Select the device and press <Enter>.
4. The system displays the Command menu. See Section 8.5 “Command Menu”.
8.4.3Programmer Settings
From the Programmer Settings option on the Main menu, you can access:
This option enables you to select the default, darker or lighter setting to adjust the contrast on your screen. Sample text lines are provided so you can see the results of your
selection.
• Normal (default) – to reset the contrast to the default settings, select “Default” and
press <Enter> once.
• Darker – to increase the contrast, select “Darker” and press <Enter> until you
achieve the desired contrast.
• Lighter – to reduce the contrast, select “Lighter” and press <Enter> until you
achieve the desired contrast.
8.4.3.2BUZZER VOLUME
This options enables you to select the volume of the buzzer tone.
• Loud – to make the buzzer volume loud, select “Loud” and press <Enter>.
• Medium (default) – to return to the default volume, select “Default” and press
<Enter>.
• Low – to make the buzzer volume low, select “Low” and press <Enter>.
• Mute – to mute the buzzer volume, select “Mute” and press <Enter>.
8.4.3.3SOCKET INFORMATION
This option displays the socket part number and the socket ID of the socket module for
the socket currently installed on MPLAB PM3.
8.4.3.4CHECKSUM CALCULATION
With this option, you can enable or disable calculating the checksum of a
code-protected device. When you select this menu option from the Main menu, a
message appears asking if you want to calculate the checksum, states the current
setting and offers two options (see Figure 8-2).
FIGURE 8-2:CHECKSUM CALCULATION SCREEN
Checksum Calculation
--------------------------------------------------------Would you like to calculate the Code Protected Checksum
Currently: No
Do Not Calculate >>
Calculate Checksum >>
The default setting is “Do Not Calculate”. The setting is saved when the programmer is
powered off.
Selecting the Calculate Checksum option saves time when programming or verifying
larger code-protected devices such as the PIC18F8720, since the entire device does
not get re-read.
If you set the checksum calculation option to “Do Not Calculate” and successfully
program a code-protected device, the screen will display, “Passed! Protected csum
disabled”.
If you set the checksum calculation option to “Do Not Calculate” and the program
operation of a code-protected device fails, the screen will display, “Failed! CP sum
disabled”.
If you set the checksum calculation option to “Calculate Checksum” for a codeprotected device, the checksum will be displayed with the results of a program or verify
operation.
8.4.3.5DEVICE ID OPTION (BETA)
This option checks that the selected device is inserted in the socket module. When you
select this menu option, a message appears asking if you want to check device IDs,
states the current setting and offers two options (see Figure 8-3).
FIGURE 8-3:DEVICE ID OPTION SCREEN
Device Id Option
--------------------------------------------------------Would you like to check device ids?
Currently: No
Test Device Ids >>
Don’t Test Device Ids >>
The default setting is “Don’t Test Device Ids” (“Currently: No”). The setting is saved
when the programmer is powered off.
Selecting the “Test Device Ids” option verifies that the device selected through
MPLAB PM3 matches the device installed in the socket module. This is helpful in avoiding programming the wrong device. The “Currently:” display changes to Yes when the
“Test Device Ids” option is set.
8.4.3.6BLANK CHECK OVERRIDE
Selecting this option disables the Blank Check from occurring before programming an
EEPROM or ‘C’ device. When you select this menu option, a message appears asking
if you want to override the Blank Check, states the current setting and offers two
options (see Figure 8-4).
FIGURE 8-4:BLANK CHECK OVERRIDE SCREEN
Blank Check Override
--------------------------------------------------------Blank check before programming ‘C’ devices?
Currently: Yes
The default setting is “Blank Check ‘C’ devices” (“Currently: Yes”). The setting is saved
when the programmer is powered off.
Selecting the “Override Blank Check” enables programming C devices without first
checking that they are blank. The “Currently:” display changes to No when the
“Override Blank Check” option is set.
This setting is used if the C device is preprogrammed, for example, with oscillator values. In that case, if you performed a Blank Check, the device would fail because
MPLAB PM3 would detect the preprogrammed settings. Using the override setting is
helpful in those situations.
This option allows the user to change the functionality of the go pin. When you select
this menu option, a message appears with the current setting and offers four options
(see Figure 8-5).
Use as Verify >>
Use as Erase >>
Use as Blank Check >>
The default setting is “Use as PgmVfy” (“Currently: as Program Verify”). The setting is
saved when the programmer is powered off.
This feature is especially useful on the production line where speed in processing a
device is required. It enables repeated operations to be performed on devices as they
are automatically loaded/unloaded into the programmer. Each time the device is
loaded, the Go pin is activated and the preset operation is performed.
OptionAction
Use as PgmVfyPrograms and verifies device
Use as VerifyVerifies device
Use as EraseErases device
Use as Blank CheckBlank checks device
The “Currently:” display changes to reflect the selected option.
8.4.4Help
This option displays the version number of the MPLAB PM3 OS Suite running on
MPLAB PM3. It also contains these submenu options:
• ICSP Connector Pinout – displays a diagram of the ICSP connector and has an
option to view the pin definitions. The definition for all the ICSP pins are listed with
the number, color and signal. See Section A.4.1 “ICSP Header and Cable Pinout”.
• Status Bar Icons – displays these icons and definitions:
- I – ICSP Mode
- T – Target is powered
- V – LVP Program Entry
- Q – SQTP file is loaded
- O – Options Set
- R – Ranges/Regions Set
• About – displays the name of the product and the manufacturer and has an option
to view the versions. The versions for MPLAB PM3-related programs is listed.
After a device is selected, the device programmer displays the Command menu:
• Program Verify Device
• Verify Device
• All Functions
The functions on the Command menu allow you to perform the basic user tasks for
programming a microcontroller device. Pressing <ESC> repeatedly will return you to
the Main menu.
8.5.1Program Verify Device
The Program Verify Device option erases (if Flash device), programs and verifies the
device (see Section 8.5.3.7 “Settings”).
8.5.2Verify Device
The Verify Device option verifies that the device was programmed properly.
8.5.3All Functions
The All Functions option displays a submenu with the selections listed in Table 8-1:
TABLE 8-1:ALL FUNCTIONS MENU
SelectionDescription
Read DeviceReads the device content. Selective read (e.g., part of program
memory, only Configuration bits of the device) can be done by
setting up Settings below.
Program Verify DevicePrograms and verifies the device.
Verify DeviceVerifies that the device was programmed properly.
Blank Check DeviceChecks that the device is completely blank (all bits are set to ‘1’).
This will also check that all Configuration bits are set to ‘1’
(unprogrammed state).
®
Erase DeviceErases the device in the MPLAB
option displays only for erasable devices.
Device InformationDisplays the device name, Device ID, Device Revision, Last
Checksum and the User IDs.
SettingsSets up program/verify options, ICSP™ settings, adjust voltages,
reset voltages, reset statistics count and safe mode.
PM3 device programmer. This
8.5.3.1READ DEVICE
If you want to copy firmware from a programmed device into an unprogrammed device,
you can read the programmed firmware into MPLAB PM3 memory, then program the
new device based on this information. Select “Read Device” to copy the contents of the
device in the socket module into the internal memory of the device programmer.
For PIC16CXX devices, the device programmer will ask the question: “Code Protect
Parts?” Answer “Yes” to code-protect the parts that you will be programming. Code
protection will remain effective until a new device is read. Answer “No” to program
devices exactly as read.
After reading a device, the device programmer displays a checksum. If the device is
code-protected, a code protection message will be displayed prior to the read. Answer
“Yes” to continue. Answer “No” to return to the Command menu.
To program a device, select “Program Verify Device” and press <Enter>. This
command programs the device in the socket module with the contents of the internal
memory of the device programmer (image).
For non-Flash devices, the device programmer checks to see if the installed
microcontroller device is blank. If the device is not blank, the device programmer asks
if you want to continue. Answer “Yes” to continue. Answer “No” to return to the
Command menu.
The device programmer programs the contents of its memory into the microcontroller
device loaded in the socket module. If a hex file is not loaded into the device programmer, an event message is displayed, “Valid image not present! Please download an
image or use a master device before continuing.” You must have an image in the device
programmer in order to program a device. To load a hex file into MPLAB PM3, you must
connect the device programmer to a PC or read from a master device. See
Section 5.2.2 “Downloading a Hex File into MPLAB PM3 Memory”.
After programming a device without errors, the device programmer performs a check
to verify the data programmed into the device and returns the results of the verification.
For the installed device, the device programmer performs the verification at the V
Minimum and V
DD Maximum voltages for non-Flash devices or VDD Nominal for Flash
devices.
The device programmer reports programming errors and verify errors according to
where the error occurred. Errors are reported for program, Configuration bits,
EEPROM data memory and ID locations. Only the first location to fail in each region is
displayed. The address, expected value and read value are displayed.
After programming, the device programmer displays the checksum.
DD
8.5.3.3VERIFY DEVICE
To verify a device, select “Verify Device” and press <Enter>. The device programmer
compares the contents of its internal memory to the contents of the programmed microcontroller device loaded in the socket module. If the data and Configuration bit settings
are correct, “PASSED!” and the checksum will display on the LCD. The device
programmer performs the verification at the V
for non-Flash devices and V
DD Nominal for Flash devices. The device programmer
DD Minimum and VDD Maximum voltages
reports errors according to which part of the device failed. Only the first location to fail
in each region is displayed. The address, expected value and read value are displayed.
8.5.3.4BLANK CHECK DEVICE
To perform a Blank Check, select “Blank Check Device” and press <Enter>. This check
will verify that the device is completely blank (all bits are set to
bits are set to
‘1’ (unprogrammed state). When completed, the programmer LCD dis-
‘1’) and all Configuration
plays “Device Blank.” Only the first location to fail in each region is displayed. The
address, expected value and read value are displayed.
An OTP device cannot be erased and reprogrammed.
If the EPROM device is not blank, you will have to erase it before programming, or
select another device:
1. Remove any labels covering the device window. If you do not have a windowed
device, you cannot reprogram it. A windowed version of all EPROM devices may
be ordered by requesting the JW package.
2. Place the device in an Ultraviolet (UV) EPROM Eraser. The amount of time
required to completely erase a UV erasable device depends on: the wavelength
of the light, its intensity, distance from UV source and the process technology of
3. Before attempting to program the device, perform the Blank Check again to verify
that it is blank.
Note:If the device is EEPROM or Flash, you do not have to erase it before
reprogramming it. These devices are electrically erased before
programming.
8.5.3.5ERASE DEVICE
To erase a Flash device, select All Functions>Erase Device
<Enter> a second time to erase the device. When completed, the LCD displays “Done.”
8.5.3.6DEVICE INFORMATION
To display device information, select All Functions>Device Information
<Enter>. The system displays the device ID, device revision, last checksum and user
ID. It also contains an option for “Check Code Protect”. To check if the device is
code-protected, press <Enter>.
8.5.3.7SETTINGS
To display the Settings option, select All Functions>Settings
Settings option contains a submenu with the following options:
• Pgm/Vfy Settings
•ICSP Settings
• Adjust Voltages
• Reset Voltages
• Reset Statistics Count
• Safe Mode
8.5.3.7.1Pgm/Vfy Settings
• Memory Ranges – Displays the memory ranges selected for the device as
retrieved from an environment.
• Select Regions – Toggles the Yes/No settings for programming Program Memory,
EEPROM, IDs, and Configuration bits.
• Program Options – Toggles the Yes/No settings for the program options to “Erase
before Pgm” and “Preserve EEPROM”.
• Reset to Defaults – Restores the default ranges, regions and options settings for
These options will be available only if the selected device supports ICSP.
1. ICSP Power Source – MPLAB PM3 displays the current ICSP power source and
provides two options:
• Power from MPLAB PM3 – programming the device will be powered
through MPLAB PM3.
• Target has own supply – programming the device will be powered from
the target’s own power supply.
2. ICSP Programming Mode – MPLAB PM3 displays the current ICSP program
mode voltage criteria and provides two options:
•MCLR
• PGM Pin (LVP) – utilizes the low voltage programming pin for program-
8.5.3.7.3Adjust Voltages
This option enables you to adjust the V
and V
DD Max, VDD Min, VDD Nominal and VPP for an EEPROM device.
Each option displays the current setting and enables you to select “Up” or “Down”.
Each time you press <Enter> the voltage setting is adjusted up or down by 0.125.
High Voltage – utilizes MCLR high voltage for programming the
device.
ming the device.
DD nominal, VDD APP and VPP for a Flash device
8.5.3.7.4Reset Voltages
To reset the voltages, select All Functions>Settings>Reset Voltages
<Enter>. This command resets the voltages to the default voltages.
8.5.3.7.5Reset Statistics Count
To reset all the program statistics, select All Functions>
and press <Enter>. This command will reset the counters to zero.
8.5.3.7.6Safe Mode
Safe mode was designed to prevent operational errors during production. When in Safe
mode, the only functions that are allowed are Program and Verify. If any other buttons
are pressed, a message is displayed stating that the system is in Safe mode and the
operation is not allowed. Requesting other functions in MPLAB IDE when MPLAB PM3
is connected to the PC will deactivate Safe mode.
To enter Safe mode, select All Functions>
Safe mode, only Program and Verify options on the Command menu are available.
After Safe mode is implemented, you will be sent to the Command menu.
This chapter explains how to use the MPLAB PM3 Card in the MPLAB PM3 device
programmer. The MPLAB PM3 Card can be accessed through the MPLAB IDE software and directly in the MPLAB PM3 programmer in Stand-Alone mode. This chapter
covers only those commands specifically for the MPLAB PM3 Card. For other MPLAB
IDE commands, refer to Chapter 7. “MPLAB PM3 – MPLAB IDE Reference”. For
other Stand-Alone mode commands, refer to Chapter 8. “Stand-Alone Reference”.
Topics covered in this chapter include:
• MPLAB PM3 Card
• MPLAB PM3 Card Through MPLAB IDE
• MPLAB PM3 Card in Stand-alone Mode
9.2MPLAB PM3 CARD
The MPLAB PM3 Card is a memory device that fits in the SD-MMC port on the back of
the MPLAB PM3 programmer (see Figure 9-1). The card only fits into the slot one way.
It can be used to store Environments that can be transferred to and from the MPLAB
PM3 programmer.
MPLAB® PM3
USER’S GUIDE
FIGURE 9-1:BACK VIEW OF MPLAB
Power On
Power Input
PWR
I
Power Off
O
USB Port
USB
For a list of Microchip tested and recommended cards, refer to the Readme for
MPLAB PM3.
9.3MPLAB PM3 CARD THROUGH MPLAB IDE
The MPLAB IDE Programmer menu contains two options for use with the MPLAB PM3
Card:
• Environment – displays a submenu of operations that can be performed on the
environment.
• MPLAB PM3 Card – displays a submenu of operations that pertain to the MPLAB
This options enables you to save an Environment to the MPLAB PM3 Card, your hard
drive or another location.
Select Programmer>Environment>Save
(Figure 9-3) and perform these steps:
FIGURE 9-3:SAVE ENVIRONMENT DIALOG
to open the Save Environment dialog
1. In the “Environment Name” field, type a name (maximum 127 characters) for the
Environment you wish to save.
2. If an SQTP file is specified for the device in the Programmer>Settings>SQTP
dialog, then the SQTP file name will appear in the “SQTP File” field. The file must
be generated and loaded into MPLAB IDE before saving the Environment. This
is a display-only field, type cannot be entered into this field.
3. In the optional “Misc. Files” field, click Browse or type the file name(s) to add files
you wish to save with the Environment. If typing the file name, the full path must
be specified. Multiple files must be separated by a comma. A maximum number
of 10 miscellaneous files (.txt, .hex, etc.) can be saved in an Environment.
4. In the optional Description field, type a brief description of the Environment.
5. Click Browse to open the Environment Destination window (Figure 9-4). MPLAB
PM3 must be enabled for the MPLAB PM3 Card to appear in the Environment
Destination window.
6. Select the MPLAB PM3 Card to save the Environment to the MPLAB PM3 Card,
or select another destination to save it to another location. Click OK to close the
Environment Destination window and return to the Save Environment dialog.
7. In the Save Environment dialog, the “Destination” field will display the selected
location. Click Save to save the Environment. Click Close to close the dialog.
The Output window displays a message confirming the Environment has been
saved.
Note:In order to save the Environment, the MPLAB PM3 Card must be inserted
in the programmer.
9.3.1.2COPY
This option enables you to create a copy of the Environment so you can store it, use it
in another location, or create a new Environment based on this Environment.
Select Programmer>Environment>Copy
(Figure 9-5). This command copies an Environment from one location to another, for
example, from the MPLAB PM3 Card to your hard drive. Use these steps to copy an
Environment:
1. In the Environment Source field, click Browse to open the Select Environment
window (Figure 9-6).
FIGURE 9-6:SELECT ENVIRONMENT WINDOW
2. Locate and select the *.pm3 file you wish to copy and click OK. (You may have
to expand the directories to locate the file you want.) The Select Environment
window closes and returns you to the Copy Environment dialog. The location
now displays in the “Environment Source” field.
3. In the “Environment Destination” field, click Browse to open the Environment
Destination window (Figure 9-4).
4. Select the destination location where you wish to copy the Environment. Click
OK, then Close to return to the Copy Environment dialog. The location now
displays in the “Environment Destination” field.
5. Click Copy to perform the operation, then click Close. A message displays in the
Output window confirming the environment was copied. When an Environment
is copied, the Environment file and any other associated files are copied. A folder
of the same name as the Environment file is created in the destination directory
and the associated files are placed in the folder.
Use this option to view an Environment before loading, copying or other functions.
Select Programmer>Environment>View
(Figure 9-7). Use this dialog to view or load environments.
FIGURE 9-7:VIEW ENVIRONMENT WINDOW
to open the View Environment window
1. Select the Environment (*.pm3) you wish to view and click OK. (You may need
to expand the directories to display the file.) The system closes the View
Environment window and displays the selected Environment (see example in
Figure 9-8).
FIGURE 9-8:EXAMPLE OF VIEWING AN ENVIRONMENT
2. From here, either click Close or, to load the viewed Environment into MPLAB
IDE, click Load. After the load is complete, a message displays in the Output
window.
This option load the Environment file from the MPLAB PM3 Card into the MPLAB PM3
Programmer.
Select Programmer>Environment>Load
(Figure 9-9).
FIGURE 9-9:LOAD ENVIRONMENT WINDOW
to open the Load Environment window
Expand the directories to display the *.pm3 files to be loaded into MPLAB IDE and click
OK. The Environment file is loaded into MPLAB IDE and a confirmation message is
displayed in the Output window.
This option deletes the selected Environment file from the specified location. If the
directory is empty after deleting the environment file, the directory is also deleted.
Expand the directories to display the *.pm3 file you wish to delete from the specified
location and click OK. The environment, including any associated files, are deleted and
a confirmation message is displayed in the Output window. If the directory is empty
after deleting the Environment file, the directory is also deleted.
9.3.2MPLAB PM3 Card
When the MPLAB PM3 Card is inserted and MPLAB PM3 is enabled, these
MPLAB PM3 Card options are available on the MPLAB IDE Programmer menu: