# Vault 7: Projects

This publication series is about specific projects related to the Vault 7 main publication.

### Protego

# PIC24FJ64GA0XX -- Flash Programming Specification

- 1
- 2
…
- 37
- 38
- 39
- 40
- 41
…
- 51
- 52

© 2008 Microchip Technology Inc. DS39768D-page 39
PIC24FJXXXGA0XX
5.2.10 PROGW COMMAND
The PROGW command instructs the programming
executive to program one word of code memory
(3 bytes) to the specific memory address.
After the word has been programmed to code memory,
the programming executive verifies the programmed
data against the data in the command.
Expected Response (2 words):
1600h
0002h
5.2.11 QBLANK COMMAND
The QBLANK command queries the programming
executive to determine if the contents of code memory
and code-protect Configuration bits (GCP and GWRP)
are blank (contain all ‘1’s). The size of code memory to
check must be specified in the command.
The Blank Check for code memory begins at 0h and
advances toward larger addresses for the specified
number of instruction words.
QBLANK returns a QE_Code of F0h if the specified
code memory and code-protect bits are blank;
otherwise, QBLANK returns a QE_Code of 0Fh.
Expected Response (2 words for blank device):
1AF0h
0002h
Expected Response (2 words for non-blank device):
1A0Fh
0002h
15 12 11 8 7 0
Opcode Length
Data_MSB Addr_MSB
Addr_LS
Data_LS
Field Description
Opcode Dh
Length 4h
Reserved 0h
Addr_MSB MSB of 24-bit destination address
Addr_LS Least Significant 16 bits of 24-bit
destination address
Data_MSB MSB of 24-bit data
Data_LS Least Significant 16 bits of 24-bit data
15 12 11 0
Opcode Length
PSize_MSW
PSize_LSW
Field Description
Opcode Ah
Length 3h
PSize Length of program memory to check
in 24-bit words plus one (max. of
49152)
Note: QBLANK does not check the system
operation Configuration bits, since these
bits are not set to ‘1’ when a Chip Erase is
performed.

- 1
- 2
…
- 37
- 38
- 39
- 40
- 41
…
- 51
- 52