
2010 Microchip Technology Inc.
DS70102K-page 31
dsPIC30F Flash Programming Specification
9.2.3
QE_Code FIELD
The QE_Code is a byte in the first word of the
response. This byte is used to return data for query
commands, and error codes for all other commands.
When the programming executive processes one of the
two query commands (QBLANK or QVER), the returned
opcode is always PASS and the QE_Code holds the
query response data. The format of the QE_Code for
TABLE 9-3:
QE_Code FOR QUERIES
Query
QE_Code
QBLANK
0x0F = Code memory and data EEPROM
are NOT blank
0xF0 = Code memory and data EEPROM
are blank
QVER
0xMN, where programming executive
software version = M.N
(i.e., 0x32 means software version 3.2)
When the programming executive processes any
command other than a Query, the QE_Code
represents an error code. Supported error codes are
shown in
Table 9-4. If a command is successfully
processed, the returned QE_Code is set to 0x0, which
indicates that there was no error in the command
processing. If the verify of the programming for the
PROGD, PROGP or PROGC command fails, the QE_Code
is set to 0x1. For all other programming executive
errors, the QE_Code is 0x2.
TABLE 9-4:
QE_Code FOR NON-QUERY
COMMANDS
QE_Code
Description
0x0
No error
0x1
Verify failed
0x2
Other error
9.2.4
RESPONSE LENGTH
The response length indicates the length of the
programming executive’s response in 16-bit words.
This field includes the 2 words of the response header.
With the exception of the response for the READD and
READP commands, the length of each response is only
2 words.
The response to the READD command is N + 2 words,
where N is the number of words specified in the READD
command.
The response to the READP command uses the packed
of program memory words (N odd), the response to the
READP command is (3 (N + 1)/2 + 2) words. When
reading an even number of program memory words
(N even), the response to the READP command is
(3 N/2 + 2) words.