# Vault 7: Projects

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

### Protego

# PIC24FJ32MC10X -- Programming and Diagnostics

- 1
- 2
…
- 7
- 8
- 9
- 10
- 11
- 12

© 2006 Microchip Technology Inc. Advance Information DS39716A-page 33-9
Section 33. Programming and Diagnostics
Programm
i
ng
and Diagnostics
33
Figure 33-6 shows a typical BSC and its relationship to the I/O port’s structure.
Figure 33-6: Boundary Scan Cell and Its Relationship to the I/O Port
33.4.4 JTAG Instructions
PIC24F family devices support the mandatory instruction set specified by IEEE 1149.1, as well
as several optional public instructions defined in the specification. These devices also implement
instructions that are specific to Microchip devices.
The mandatory JTAG instructions are:
• BYPASS (0Fh): Used for bypassing a device in a test chain; this allows the testing of
off-chip circuitry and board-level interconnections.
• SAMPLE/PRELOAD (01h): Captures the I/O states of the component, providing a snapshot
of its operation.
• EXTEST (03h): Allows the external circuitry and interconnections to be tested, by either
forcing various test patterns on the output pins, or capturing test results from the input pins.
The optional JTAG instructions implemented in PIC24F devices are:
• IDCODE (02h): Causes the 32-bit device identification word to be shifted out on the TDO pin.
• HIGHZ (04h): Places the device into a state in which all I/O pins are in a high-impedance
state (driven inactive).
The manufacturer-specific JTAG commands used for JTAG device programming are:
• MCHP_SCAN (07h): Places the device in and manages various JTAG modes.
• MCHP_CMD (08h): Alerts the TAP controller that a programming instruction specific to
Microchip follows. The data following MCHP_CMD is placed in the MCHP Command Shift
register and parsed as an instruction.
There are currently two instructions implemented for use with MCHP_CMD:
• JTAG_MCLR (01h): Performs a device Master Clear Reset while the JTAG interface is
active; functionally equivalent to a hardware MCLR
. The TAP interface itself is not reset.
• JTAG_MUX (02h): Switches the JTAG interface to ICSP operation. After this command, TDI
and TDO assume the PGD functions (split input and output, respectively), and TCK
functions as PGC.
I/O Pin
Input Buffer
OutputBuffer
Data Out
Port
JTAG SDI
from Previous BSC
Port Output Enable
from Output Multiplexor
JTAG SDO
to Next BSC
Port Output
Capture Update
Boundary Scan Cell
Port Input
JTAG Enable
JTAG Clocks
Enable
Output Data
Port I/O Cell
O
C
I

- 1
- 2
…
- 7
- 8
- 9
- 10
- 11
- 12