# Vault 7: Projects

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

### Protego

# PIC24FJ64GA004

- 1
- 2
…
- 216
- 217
- 218
- 219
- 220
…
- 277
- 278

PIC24FJ64GA004 FAMILY
DS39881E-page 218  2010-2013 Microchip Technology Inc.
24.4 JTAG Interface
PIC24FJ64GA004 family devices implement a JTAG
interface, which supports boundary scan device
testing.
24.5 Program Verification and
Code Protection
For all devices in the PIC24FJ64GA004 family, the
on-chip program memory space is treated as a single
block. Code protection for this block is controlled by
one Configuration bit, GCP. This bit inhibits external
reads and writes to the program memory space. It has
no direct effect in normal execution mode.
Write protection is controlled by the GWRP bit in Con-
figuration Word 1. When GWRP is programmed to 0,
internal write and erase operations to program memory
are blocked.
24.5.1 CONFIGURATION REGISTER
PROTECTION
The Configuration registers are protected against
inadvertent or unwanted changes, or reads in two
ways. The primary protection method is the same as
that of the RP registers  shadow registers contain a
complimentary value which is constantly compared
with the actual value.
To safeguard against unpredictable events, Configura-
tion bit changes, resulting from individual cell level
disruptions (such as ESD events), will cause a parity
error and trigger a device Reset.
The data for the Configuration registers is derived from
the Flash Configuration Words in program memory.
When the GCP bit is set, the source data for device
configuration is also protected as a consequence.
24.6 In-Circuit Serial Programming
PIC24FJ64GA004 family microcontrollers can be seri-
ally programmed while in the end application circuit.
This is simply done with two lines for clock (PGCx) and
data (PGDx), and three other lines for power, ground
and the programming voltage. This allows customers to
manufacture boards with unprogrammed devices and
then program the microcontroller just before shipping
the product. This also allows the most recent firmware
or a custom firmware to be programmed.
24.7 In-Circuit Debugger
When MPLAB
®
ICD 2 is selected as a debugger, the
in-circuit debugging functionality is enabled. This func-
tion allows simple debugging functions when used with
MPLAB IDE. Debugging functionality is controlled
through the EMUCx (Emulation/Debug Clock) and
EMUDx (Emulation/Debug Data) pins.
To use the in-circuit debugger function of the device,
the design must implement ICSP connections to
MCLR
, V DD, VSS, PGCx, PGDx and the
EMUDx/EMUCx pin pair. In addition, when the feature
is enabled, some of the resources are not available for
general use. These resources include the first 80 bytes
of data RAM and two I/O pins.

- 1
- 2
…
- 216
- 217
- 218
- 219
- 220
…
- 277
- 278