Microchip Technology MA160014 Data Sheet

Page of 560
 2010-2012 Microchip Technology Inc.
DS41412F-page 371
PIC18(L)F2X/4XK22
24.5.2
DATA EEPROM 
CODE PROTECTION
The entire data EEPROM is protected from external
reads and writes by two bits: CPD and WRTD. CPD
inhibits external reads and writes of data EEPROM.
WRTD inhibits internal and external writes to data
EEPROM. The CPU can always read data EEPROM
under normal operation, regardless of the protection bit
settings.
24.5.3
CONFIGURATION REGISTER 
PROTECTION
The Configuration registers can be write-protected.
The WRTC bit controls protection of the Configuration
registers. In Normal execution mode, the WRTC bit is
readable only. WRTC can only be written via ICSP or
an external programmer.
24.6
ID Locations
Eight memory locations (200000h-200007h) are
designated as ID locations, where the user can store
checksum or other code identification numbers. These
locations are both readable and writable during normal
execution through the TBLRD and TBLWT instructions
or during program/verify. The ID locations can be read
when the device is code-protected.
24.7
 In-Circuit Serial Programming
PIC18(L)F2X/4XK22 devices 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 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.8
In-Circuit Debugger
When the DEBUG Configuration bit is programmed to
a ‘0’, the In-Circuit Debugger functionality is enabled.
This function allows simple debugging functions when
used with MPLAB
®
 IDE. When the microcontroller has
this feature enabled, some resources are not available
for general use. 
 shows which resources are
required by the background debugger.
TABLE 24-6:
DEBUGGER RESOURCES  
To use the In-Circuit Debugger function of the
microcontroller, the design must implement In-Circuit
Serial Programming connections to the following pins:
• MCLR/V
PP
/RE3
• V
DD
• V
SS
• RB7
• RB6
This will interface to the In-Circuit Debugger module
available from Microchip or one of the third party
development tool companies.
24.9
Single-Supply ICSP Programming
The LVP Configuration bit enables Single-Supply ICSP
Programming (formerly known as Low-Voltage ICSP
Programming or LVP). When Single-Supply Program-
ming is enabled, the microcontroller can be programmed
without requiring high voltage being applied to the
MCLR/V
PP
/RE3 pin. See “PIC18(L)F2XK22/4XK22
Flash Memory Programming” (DS41398) for more
details about low voltage programming. 
The LVP bit may be set or cleared only when using
standard high-voltage programming (V
IHH
 applied to
the MCLR/V
PP
/RE3 pin). Once LVP has been disabled,
only the standard high-voltage programming is
available and must be used to program the device. 
Memory that is not code-protected can be erased using
either a block erase, or erased row by row, then written
at any specified V
DD
. If code-protected memory is to be
erased, a block erase is required.
I/O pins:
RB6, RB7
Note 1: High-voltage programming is always
available, regardless of the state of the
LVP bit, by applying V
IHH
 to the MCLR
pin.
2: By default, Single-Supply ICSP is
enabled in unprogrammed devices (as
supplied from Microchip) and erased
devices.
3: While in Low-Voltage ICSP mode, MCLR
is always enabled, regardless of the
MCLRE bit, and the RE3 pin can no
longer be used as a general purpose
input.