English
Language : 

PIC32MX440F256H-80I Datasheet, PDF (583/646 Pages) Microchip Technology – 64/100-Pin General Purpose and USB 32-Bit Flash Microcontrollers
PIC32MX3XX/4XX
28.2 Operation
The PIC32MX3XX/4XX of devices has multiple
programming and Debugging options including:
• In-Circuit Serial Programming via ICSP
• In-Circuit Programming EJTAG
• Debugging via ICSP
• Debugging via EJTAG
• Special Debug modes for Select Communication
Peripherals
• Boundary Scan
28.2.1 DEVICE PROGRAMMING OPTIONS
Note:
The following sections provide a brief
overview of each programming option. For
more detailed information, refer to
“PIC32MX Flash Programming Specifica-
tion” (DS61145).
Note:
For all device programming options, a
minimum VDD requirement for Flash erase
and programming operations is required.
Refer to Section 30.1 “DC Characteris-
tics”for details.
28.2.1.1 In-Circuit Serial Programming
ICSP is Microchip’s proprietary solution to providing
microcontroller programming in the target application.
ICSP is also the most direct method to program the
device, whether the controller is embedded in a system
or loaded into a device programmer.
28.2.1.2 ICSP Interface
ICSP uses two pins as the core of its interface. The
Programming Data (PGD) line functions as both an
input and an output, allowing programming data to be
read in and device information to be read out on com-
mand. The Programming Clock (PGC) line is used to
clock in data and control the overall process.
PIC32MX3XX/4XX devices have more than one pair of
PGC and PGD pins; these are multiplexed with other
I/O or peripheral functions. Individual ICSP pin pairs
are indicated by number (e.g., PGC1/PGD1, etc.), and
are generically referred to as ‘PGCx’ and ‘PGDx’. The
multiple PGCx/PGDx pairs provide additional flexibility
in system design by allowing users to incorporate ICSP
on the pair of pins that is least constrained by the circuit
design. All PGCx and PGDx pins are functionally tied
together and behave identically, and any one pair can
be used for successful device programming. The only
limitation is that both pins from the same pair must be
used.
In addition to the PGCx and PGDx pins, ICSP requires
that all voltage supply (including voltage regulator pin
ENVREG) and ground pins on the device must be con-
nected. The MCLR pin, which is used with PGCx to
enter and control the programming process, must also
be connected to the programmer.
A typical In-Circuit Serial Programming connection is
shown in Figure 28-2.
FIGURE 28-2:
TYPICAL IN-CIRCUIT
SERIAL
PROGRAMMING™
CONNECTION
ICSP™
VSS
VDD
VPP
CLK
Data I/O
PIC32MX
VSS
VDD
MCLR/VPP
PGCx
PGDx
28.2.1.3 ICSP Operation
ICSP uses a combination of internal hardware and
external control to program the target device. Program-
ming data and instructions are provided on PGD. ICSP
uses a special set of commands to control the overall
process, combined with standard PIC32MX3XX/4XX
instructions to execute the actual writing of the program
memory. PGD also returns data to the external
programmer when responding to queries.
Users who are interested in a more detailed description,
or who are considering designing their own
programming interface for PIC32MX3XX/4XX devices,
should consult the appropriate PIC32MX3XX/4XX
device programming specification.
28.2.1.4 Enhanced In-Circuit Serial
Programming
The Enhanced In-Circuit Serial Programming (ICSP)
protocol is an extension of the original ICSP. It uses the
same physical interface as the original, but changes
the location and execution of programming control to a
software application written to the PIC32MX3XX/4XX
device. Use of Enhanced ICSP results in significant
decrease in overall programming time.
For additional information on Enhanced ICSP and the
program executive, refer to the appropriate
PIC32MX3XX/4XX device programming specification.
© 2008 Microchip Technology Inc.
Preliminary
DS61143E-page 581