Release Notes for PRO MATE(R) II Command Line Interface
MPLAB IDE v8.43
Software DLL Version 3.30.12
Executable Version 03.30.12

October 29, 2009

-----------------------------------------------------------------------------
Table of Contents
-----------------------------------------------------------------------------
1.  Tool Definition
2.  Device Support List
3.  Operating System Support List
4.  What's New or Updated
5.  Known Problems
6.  Important Notes
7.  Demo Programs
8.  Socket Support
9.  Installation
10. Upgrading the PRO MATE II Operating System
11. Command Line Options
12. Command Line Examples
13. Customer Support

-----------------------------------------------------------------------------
1. Tool Definition
-----------------------------------------------------------------------------

PRO MATE II Command Line Interface (PROCMD) is a 32-bit 
command-line interface to the PRO MATE II device programmer.
This interface is designed for programming devices in a 
production environment with limited resource PCs (Pentium or 
better). Possible uses for this interface include:
 - Setting up a PRO MATE II for stand-alone programming
 - Updating device programmer firmware
 - SQTP programming

The PROCMD executable may be found, by default, in:
C:\Program Files\Microchip\MPLAB IDE\Programmer Utilities\Procmd

This Readme is targeted to users of the command-line
interface. Refer to "Readme for PRO MATE II.txt" for more 
information about the MPLAB IDE interface to PRO MATE II.

See "Readme for PRO MATE II.txt" for more information.

-----------------------------------------------------------------------------
2. Device Support List
-----------------------------------------------------------------------------

Device support is dependent on the firmware version installed
in the PRO MATE II device programmer. Refer to the file
"Readme for PRO MATE II.txt" for the list of supported devices 
and what firmware files support which devices.

When selecting a part using the "P" option (section 10), use the 
following:

- PICmicro devices: drop "PIC", e.g., PIC16F877 becomes 16F877
- dsPIC devices:    drop "dsPIC", e.g., dsPIC30F6014 becomes 30F6014
- rfPIC devices:    drop "rfPIC" and appended letters, e.g., 
                    rfPIC12C509AG becomes 12C509

Note: BigM devices = PIC18F devices with memory greater than 64k (0xFFFF)

-----------------------------------------------------------------------------
3. Operating System Support List
-----------------------------------------------------------------------------

Windows® 2000 SP4, Windows XP SP2, and Windows Vista™ (32-Bit)* OSs

* Only initial testing has been performed on 32-bit Vista for this release. 
64-bit Vista is not supported at this time.

NOTE: Windows NT® and Windows 98/ME OSs are NOT supported.

-----------------------------------------------------------------------------
4. What's New or Updated
-----------------------------------------------------------------------------

None.

-----------------------------------------------------------------------------
5. Known Problems
-----------------------------------------------------------------------------

SSR 27771: Though the /L command can be used with PROCMD, no error message is 
displayed if it is used with a device that does not support low voltage 
programming, such as the 12F510.  If it is combined with other commands and 
sent to the Pro Mate II, it may	result in the following error:
  procmd /1 /p12F510 /fe:\hex\12f510.hex /m  /l
  Calibration bits are invalid. The current operation cannot continue.
  Operation Succeeded
	
The calibration data for this particular 12F510 in use is actually valid 
and, did remain intact after the command was sent.  No programming actually 
took place due to the error received.  If just the /l command is sent, no 
error message is displayed. 

Downloading Non-MPLAB IDE Generated Hex Files:
Directly downloading a hex file not generated by MPLAB IDE, such as an 
Intel 32 Byte (INHX32), with the PROCMD.exe programmer standalone utility,
may result in an error message. As a workaround, import the hex file into 
MPLAB IDE then export the hex file from MPLAB IDE in order to create a 
hex file compatible with PROCMD.

SSR PM2-44: SQTP: EEProm Memory area is not programmed when EEProm-based 
SQTP file is used.

-----------------------------------------------------------------------------
6. Important Notes
-----------------------------------------------------------------------------

- After installing a socket module, it is good practice to do
a blank check on a known blank device to verify that the
socket module is seated properly.  To perform a blank check
in stand-alone mode, select the desired device type, insert
a blank device, and select Vfy (Verify).  If the device reads
back blank, the message "Device Erased" will appear.

- If a "Ready for Download" message appears on LCD at normal
power-up, the PRO MATE II operating system has been erased
and must be reinstalled. See your PRO MATE II User's Guide for
instructions on upgrading the firmware/operating system.

- Serial Baud Rate is 19200. 9600 selection no longer available.

-----------------------------------------------------------------------------
7. Demo Programs
-----------------------------------------------------------------------------

sqtp1.bat  An example .bat file that shows a SQTP file used
           to program several devices.

sqtp2.bat  An example .bat file that shows a SQTP file used
           to program several devices.  Command line arguments
           are used.

count2.bat An example program that takes a count between 1-9999
           on the command line and programs that many devices.
           Also verbose error messages.

count3.bat An example program that takes a count between 1-9999
           on the command line and programs that many devices.
           The user is queried for options. Also verbose error
           messages.

-----------------------------------------------------------------------------
8. Socket Support
-----------------------------------------------------------------------------

Refer to the Development Tools Selector (DTS) located on:
- the Microchip web site (www.microchip.com) 
  Select "Development Tools" under "Design", then select
  "Development Tool Selector" under "Resources".
- the MPLAB IDE CD-ROM you used to install MPLAB 

-----------------------------------------------------------------------------
9. Installation
-----------------------------------------------------------------------------

From the MPLAB IDE installation, choose to install PROCMD. Its default
installation location is listed under "1. Tool Definition".

-----------------------------------------------------------------------------
10. Upgrading the PRO MATE II Operating System
-----------------------------------------------------------------------------

If PRO MATE II did not recognize your socket module (i.e.,
socket not supported), you may need to update the firmware.
You can obtain the latest PRO MATE II firmware from our website
(www.microchip.com). Once you have the firmware, you will need
to download this file to the PRO MATE II.

1. Turn the power off on the PRO MATE II; i.e., power switch on
   back to the "OFF" position.

2. While holding down the F1 and F3 keys, turn the power back on;
   i.e., power switch on back in the "ON" position.

3. You should get the following messages on the PRO MATE II LCD:
   "Clearing RAM Now....." and "Ready for Download...."
   If you do not, repeat the previous steps.

4. Download the firmware file using PROCMD as follows:

   PROCMD /<number> /D<filename>

  where <number> = 1, 2, 3 or 4, depending on the COM port you
  are using, and <filename> is the name of the firmware file.

Once the download is done, PRO MATE II will automatically
re-start, as if from power-on.

-----------------------------------------------------------------------------
11. Command Line Options
-----------------------------------------------------------------------------

The following commands are available in the command line interface.

Options              Description                              Default
================================================================================
#                    Communication Ports 1 thru 4 supported   1
--------------------------------------------------------------------------------
A                    BigM Pass, Valid Parameters are:         None
                     <PGMMEM>, <OTHER> or <ALL>
--------------------------------------------------------------------------------
C                    Blank Check Device                       Do not Blank Check
--------------------------------------------------------------------------------
D<file>              Firmware File Selection                  None
--------------------------------------------------------------------------------
E                    Erase Flash Device                       Do Not Erase
--------------------------------------------------------------------------------
F<file>              Hex File Selection                       None
--------------------------------------------------------------------------------
G<Type><range/path>  Read functions                           None
                     Type F: = read into hex file,
                             path = full file path,
                             range is not used
                     Types P,E,I,C: = ouput read of Program,
                             EEPROM, ID and/or Configuration
                             Memory to the screen. P and E
                             must be followed by an address
                             range in the form of x-y where
                             x is the start address and y is
                             the end address both in hex,
                             path is not used
--------------------------------------------------------------------------------
K                    Display Hex File Checksum                Do Not Display
--------------------------------------------------------------------------------
M<memory region>     Program Device                           Do Not Program
                     memory regions:
                         P = Program memory
                         E = EEPROM
                         I = ID memory
                         C = Configuration memory
                         If no region is entered, the entire
                         device will be programmed. Certain
                         restricitons apply when programming
                         BigM or dsPIC devices. Type -m? for
                         more information.
--------------------------------------------------------------------------------
N                    Vdd Min                                  Device Specific
--------------------------------------------------------------------------------
P<part>              Part Selection. Example: 16f877          None
--------------------------------------------------------------------------------
Q                    Quiet Mode, no screen output             Quiet mode off
--------------------------------------------------------------------------------
R<on> <off>          Safe/Restricted Mode                     None
--------------------------------------------------------------------------------
S<file>              SQTP File Selection                      None
--------------------------------------------------------------------------------
T                    Vdd Nominal. Used only in ICSP mode.     Device Specific
--------------------------------------------------------------------------------
V                    Vpp                                      Device Specific
--------------------------------------------------------------------------------
X                    Vdd Max                                  Device Specific
--------------------------------------------------------------------------------
Y<memory region>     Verify Device                            Do Not Verify
                         P = Program memory
                         E = EEPROM
                         I = ID memory
                         C = Configuration memory
                         If no region is entered, the entire
                         device will be programmed. Certain
                         restricitons apply when programming
                         BigM or dsPIC devices. Type -m? for
                         more information.
--------------------------------------------------------------------------------
?                    Help Screen                              Not Shown
?E                   Error Codes                              Not Shown
<command>?           Help for <command>                       Not Shown
================================================================================

     Each option must be immediately preceeded by a switch, Which can
     be either a dash <-> or a slash </> and options must be separated
     by a single space.

     Example:   PROCMD /1 /P16F877 /Fc:\mycode /M
                               or
                PROCMD -1 -P16F877 -Fc:\mycode -M

     Any option immediately followed by a question mark will envoke
     a more detailed description of how to use that option.

     Commands and their parameters are not case sensitive. Commands will
     be processed according to command order of precedence, not the order
     in which they appear on the command line. To see a list of the command
     order of precedence type -?? on the command line.

     The program will return an exit code upon completion which will
     indicate either successful completion, or describe the reason for
     failure. To view the list of exit codes and their descriptions,
     type -?E on the command line.

-----------------------------------------------------------------------------
12. Command Line Examples
-----------------------------------------------------------------------------

COMMAND LINE
   OPERATION PERFORMED
-----------------------------------------------------------------------------
PROCMD /?
   Help screen displayed.

PROCMD /?E
   All eXit (error) codes displayed.

PROCMD /M?
   Help for the /M option displayed.

PROCMD /DPIC60000.HEX
 Or
PROCMD /1 /DPIC60000.HEX
   Firmware file PIC60000.HEX downloaded to PRO MATE II on COM1.
   COM1 is chosen by default.

PROCMD /1 /P16F84A
   PRO MATE II on COM1 set to a PIC16F84A.

PROCMD /1 /P16F84A /R
   PRO MATE II on COM1 set to a PIC16F84A. PRO MATE II set to
   safe mode.

PROCMD /1 /P16F877 /N4.5 /X5.5 /FPROGRAM.HEX
   PRO MATE II on COM1 set to a PIC16F877. Vdd Min set to 4.5v.
   Vdd Max set to 5.5v.  Vpp set to the device's default
   value.  File PROGRAM.HEX sent to the PRO MATE II.

PROCMD /1 /P16F877 /N4.5 /X5.5 /FPROGRAM.HEX /MP
   PRO MATE II on COM1 set to a PIC16F877. Vdd Min set to 4.5v.
   Vdd Max set to 5.5v.  Vpp set to the device's default
   value.  File PROGRAM.HEX sent to the PRO MATE II. The 
   device's program memory is programmed, with blank values 
   in the locations not specified by PROGRAM.HEX.

PROCMD /1 /P16F877 /T2.5 /FPROGRAM.HEX
   PRO MATE II on COM1 set to a PIC16F877. Low Voltage Programming 
   algorithm used to program the hex file PROGRAM.HEX.

PROCMD /2 /P12C508A /FVOLTS.HEX
   PRO MATE II on COM2 set to a PIC12C508A. Hex file VOLTS.HEX
   sent to the PRO MATE II. Voltages set to devices default
   values.

PROCMD /2 /P12C508A /FVOLTS.HEX /SSQTP.NUM /M
   PRO MATE II on COM2 set to a PIC12C508A. Hex file VOLTS.HEX
   sent to the PRO MATE II. Voltages are set to the device's
   default values, and one entry from the SQTP file
   SQTP.NUM is sent.  All of the device's memory is programmed, 
   with blank values in the locations not specified by VOLTS.HEX 
   and SQTP.NUM.  If programming is successful, the SQTP entry 
   is marked as used.

PROCMD /3 /P17C42A /FAPPCODE.HEX /M
   PRO MATE II on COM3 is set to a PIC17C42A. The file
   APPCODE.HEX is sent to PRO MATE. Voltages are set to the
   device's default values. All of the device's memory is 
   programmed, with blank values in the locations not 
   specified by APPCODE.HEX.

PROCMD /3 /P17C42A /M
   PRO MATE II on COM3 is set to a PIC17C42A. The device is
   programmed with the current contents of the device
   programmer at the currently selected voltage levels.

PROCMD /3 /P17C42A /SSERIAL.NUM /M
   PRO MATE II on COM3 is set to PIC17C42A, and one entry from
   the SQTP file SERIAL.NUM is sent.  A device is programmed
   with the current contents of the device programmer
   and the serial number at the currently selected voltages.
   If programming is successful, the entry is marked as used.

PROCMD /2 /P16F84 /FHEXCODE.HEX /Y
   PRO MATE II on COM2 is set to a PIC16F84. Voltages are set
   to the device's default values. The device is verified 
   against the contents of HEXCODE.HEX.

PROCMD /2 /P16F84 /FHEXCODE.HEX /M /Y
   PRO MATE II on COM2 is set to a PIC16F84. The file
   HEXCODE.HEX is sent to PRO MATE II. Voltages are set to the
   device's default values and the device is programmed.
   After programming, the device is verified against the 
   contents of HEXCODE.HEX.

   Note: The Verify (/M) operation implicitly performs a
   Verify when it completes the programming portion of the 
   operation. Specifying a Verify (/Y) in the above manner 
   effectively causes two Verify operations to be performed.

PROCMD /P18F6720 /FBIGM.HEX /M /AALL
   PRO MATE II on COM1 is set to a PIC18F6720. The file BIGM.HEX
   is sent to PRO MATE II. Voltages are set to the device's 
   default values and all device memory is programmed.

PROCMD /P18F8720 /E /FBIGM.HEX /SSQTP.NUM /M /AALL
   PRO MATE II on COM1 is set to a PIC18F8720. First, the device
   is erased. (This is necessary for SQTP programming on BigM
   devices.) Then the file BIGM.HEX is sent to PRO MATE II and 
   one entry from the SQTP file SQTP.NUM is sent. Voltages are 
   set to the device's default values and all device memory is 
   programmed.

PROCMD /P30F6014 /FDSPIC.HEX /M0-FF
   PRO MATE II on COM1 is set to a dsPIC30F6014. The file 
   DSPIC.HEX is sent to PRO MATE II. Voltages are set to the 
   device's default values. Device memory from location 0x00
   to 0xFF is programmed.

Notes
-----

The communication port will use the default COM port.

If downloading firmware, only the communications port and
the /d option can be specified.

If not downloading firmware, a device must be specified.

It is not necessary to send the hex file every time a device
is programmed.  In a production environment, it would be
beneficial to use one command line execution to transfer
the hex file and set up any voltages, and then use
subsequent command line executions to program or program
with SQTP numbers.

If a hex file is specified, only the locations specified in
the hex file are programmed.  If an SQTP file is also
specified, then all of the device is programmed.

If a hex file is not specified, the entire contents of the
PRO MATE II device programmer are programmed into the device.

All values not specified in the hex file are set to blank
(erased) values.

SQTP information is only sent to the device programmer if
the device is programmed.

SQTP lines are marked as used only if programming is
successful.

----------------------------------------------------------------------
13. Customer Support
----------------------------------------------------------------------

The Microchip Web Site
----------------------

Microchip provides online 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, online 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

myMICROCHIP Personalized Notification Service
---------------------------------------------

Microchip's personal notification service helps keep customers current on
their Microchip products of interest. Subscribers will receive e-mail 
notification whenever there are changes, updates, revisions or errata related
to a specified product family or development tool.

Please visit http://www.microchip.com/pcn to begin the registration process 
and select your preferences to receive personalized notifications. A FAQ and registration details are available on the page, which can be opened by 
selecting the link above.

When you are selecting your preferences, choosing “Development Systems” will populate the list with available development tools. The main categories of 
tools are listed below:

Compilers – These include all MPLAB C compilers; all MPLAB assemblers 
(including MPASM™ assembler); all MPLAB linkers (including MPLINK™ object 
linker); and all MPLAB librarians (including MPLIB™ object librarian), 
as well as HI-TECH C compilers.

Emulators – These include the MPLAB REAL ICE™ and MPLAB ICE 2000 in-circuit emulators

In-Circuit Debuggers – These include the MPLAB ICD 3 in-circuit debugger, 
MPLAB ICD 2 in-circuit debugger, PICkit™ 3 debug express and PICkit 2 debug express.

MPLAB IDE – This includes MPLAB IDE, the Windows® Integrated Development Environment for development systems tools, MPLAB IDE Project Manager, 
MPLAB Editor and MPLAB SIM simulator, as well as general editing and 
debugging features.

Programmers –These include the MPLAB PM3 and PRO MATE II device programmers
and the PICSTART® Plus and PICkit 1, 2 and 3 development programmers.

Starter/Demo Boards – These include MPLAB Starter Kit boards,
PICDEM demo boards, and various other evaluation boards.

Additional Support
------------------

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 available on our website.

Technical support is available through the web site at:
http://support.microchip.com






