Reference tables: Commands

Command Character Release Function
Clear error
c
Alpha After an error has occurred, the programmer will refuse to run a programming command. In the event that the program data is sent without possibility of stopping on an error condition, this prevents wastefully programming additional data. To proceed with any programming operations after an error, issue this command to clear the error state.
Debug mode
d
Alpha Puts the programmer in debug mode. This command's actions are subject to change, and the command may be removed in later versions. The current implementation disables verification. The purpose is to prevent the programmer from reading data from the target PIC, because the target won't be present during debugging.
Comment line
;
Alpha Tells the programmer to ignore the following text until the end of the line ("\r\n" pair).
Data
:
Alpha Includes data in hex file format. Addresses values in hex files are double the address seen by the PIC.
Enable forced rewrite
f
Alpha Normally, the programmer will write a program or EEPROM location only if the value to write is different than the value already stored there in order to extend the flash ROM's life. However, if there are verification troubles, especially at voltages other then the programming voltage, this option may help. It is most useful on the PIC16F84 because that PIC always erases before writting to the flash ROM, so if a bulk erase operation is carried out first, every location would be erased twice.
Erase program
e
Beta Performs a bulk erase of the PICs program memory. The voltage is set to setting 2, 5 volts, before erasing begins.
Erase EEPROM data
g
Beta Performs a bulk erase of the PICs EEPROM data. The voltage is set to setting 2, 5 volts, before erasing begins.
Program
p
Alpha Programs all subsequent data issued with the data command to the PIC with an erase/program cycle. The voltage is set to setting 2, 5 volts, before programming begins.
Program only
o
Final v1 Programs all subsequent data issued with the data command to the PIC with a program only cycle. The voltage is set to setting 2, 5 volts, before programming begins. This command is supported on the PIC16F84A and newer flash ROM PICs, but not the PIC16F84. Using this command after a bulk erase or a memory unprotect operation will help extend the life span of the flash ROM.
Read
r
uncertain Reads up to 16 bytes of memory from the target PIC and sends it to the computer in the form of a HEX file line. The target will be reset before reading begins.
Because of concerns of the amount of code required to put the data into a usable format, this command may be dropped in favor of the verify command. However, it provides the versatility to read a PIC to browse its code and to verify a PIC.
Type
t
Beta or Final v1 Returns in hex format the part ID recorded on the PIC at address 0x2006.
Unprotect
u
Final v1 Removes the code protection on the PIC. In the process, the PIC's memory is erased.
Verify
v
uncertain Verifies a PIC to make sure its program is properly stored. This command will verify what is on the PIC against the subsequent data sent using the data command. The use of the same data path as the program command allows the verify command to be implemented with less code than the read command and requires less logic on the computer end. However, it lacks the ability to read new data from a PIC. This command may be dropped in favor of the read command.
Voltage set
0, 1, 2, 3
Beta Sets the supply voltage of the PIC for the verification requirements of a production quality programmer, as defined by Microchip (DS30262B, page 9). The programming PIC depends on the hardware to provide the correct voltage; the voltage control is only a logic toggle to select a voltage supply line. The hardware may only supply a subset of the different voltages including 5 volts, which is required. The programmer will only select 5 volts without an explicit voltage set command from the computer.

For production quality verification, the computer may select from up to 3 other voltages before beginning a read or verify command. The voltage levels are intended to be set by hardware and used as listed in the following chart:
Command Voltage Usage
0 2v Low voltage verification of PIC16LF8xx
1 4v Low voltage verification of PIC16F8xx
2 5v Programming and erasing voltage
3 6v High voltage verification of all PICs