PIC12F629/675
FIGURE 9-14:
TYPICAL IN-CIRCUIT
SERIAL PROGRAMMING
CONNECTION
9.8
Code Protection
If the code protection bit(s) have not been
programmed, the on-chip program memory can be
read out for verification purposes.
To Normal
Connections
Note: The entire data EEPROM and FLASH
program memory will be erased when the
code protection is turned off. The INTOSC
calibration data is also erased. See
PIC±2F629/675 Programming Specifica-
tion for more information.
External
Connector
Signals
PIC12F629/675
+5V
0V
VDD
VSS
VPP
GP3/MCLR/VPP
9.9
ID Locations
GP1
GP0
CLK
Four memory locations (2000h-2003h) are designated
as ID locations where the user can store checksum or
other code identification numbers. These locations are
not accessible during normal execution but are
readable and writable during Program/Verify. Only the
Least Significant 7 bits of the ID locations are used.
Data I/O
VDD
To Normal
Connections
9.10 In-Circuit Serial Programming
The PIC±2F629/675 microcontrollers can be serially
programmed while in the end application circuit. This is
simply done with two lines for clock and data, and three
other lines for:
9.11 In-Circuit Debugger
Since in-circuit debugging requires the loss of clock,
®
data and MCLR pins, MPLAB ICD 2 development with
an 8-pin device is not practical. A special ±4-pin
PIC±2F675-ICD device is used with MPLAB ICD 2 to
provide separate clock, data and MCLR pins and frees
all normally available pins to the user.
• power
• ground
• 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.
This special ICD device is mounted on the top of the
header and its signals are routed to the MPLAB ICD 2
connector. On the bottom of the header is an 8-pin
socket that plugs into the user’s target via the 8-pin
stand-off connector.
The device is placed into a Program/Verify mode by
holding the GP0 and GP± pins low, while raising the
MCLR (VPP) pin from VIL to VIHH (see Programming
Specification). GP0 becomes the programming data
and GP± becomes the programming clock. Both GP0
and GP± are Schmitt Trigger inputs in this mode.
When the ICD pin on the PIC±2F675-ICD device is
held low, the In-Circuit Debugger functionality is
enabled. This function allows simple debugging
functions when used with MPLAB ICD 2. When the
microcontroller has this feature enabled, some of the
resources are not available for general use. Table 9-±0
shows which features are consumed by the
background debugger:
After RESET, to place the device into Programming/
Verify mode, the program counter (PC) is at location
00h. A 6-bit command is then supplied to the device.
Depending on the command, ±4-bits of program data
are then supplied to or from the device, depending on
whether the command was a load or a read. For
complete details of serial programming, please refer to
the Programming Specifications.
TABLE 9-10: DEBUGGER RESOURCES
I/O pins
Stack
ICDCLK, ICDDATA
± level
Program Memory
Address 0h must be NOP
300h - 3FEh
A typical In-Circuit Serial Programming connection is
shown in Figure 9-±4.
For more information, see 8-Pin MPLAB ICD 2 Header
Information Sheet (DS5±292) available on Microchip’s
website (www.microchip.com).
2003 Microchip Technology Inc.
DS41190C-page 67