Microchip Technology DM183037 Data Sheet

Page of 696
 2012 Microchip Technology Inc.
DS30575A-page 573
PIC18F97J94 FAMILY
28.4.5
PROGRAM VERIFICATION AND 
CODE PROTECTION
For all devices in the PIC18F97J94 family of devices,
the on-chip program memory space is treated as a
single block. Code protection for this block is controlled
by one Configuration bit, CP0. This bit inhibits external
reads and writes to the program memory space. It has
no direct effect in normal execution mode.
28.4.6
CONFIGURATION REGISTER 
PROTECTION
The Configuration registers are protected against
untoward changes or reads in two ways. The primary
protection is the write-once feature of the Configuration
bits, which prevents reconfiguration once the bit has
been programmed during a power cycle. To safeguard
against unpredictable events, Configuration bit
changes, resulting from individual cell level disruptions
(such as ESD events), will cause a parity error and
trigger a device Reset. This is seen by the user as a
Configuration Mismatch (CM) Reset.
The data for the Configuration registers is derived from
the FCW in program memory. When the CP0 bit is set,
the source data for device configuration is also
protected as a consequence.
28.5
 In-Circuit Serial Programming
The PIC18F97J94 family of 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.
For the various programming modes, see the
programming specification
28.6
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 28-3:
DEBUGGER RESOURCES  
To use the In-Circuit Debugger function of the microcon-
troller, the design must implement In-Circuit Serial
Programming connections to MCLR, V
DD
, V
SS
, RB7 and
RB6. This will interface to the In-Circuit Debugger
module available from Microchip or one of the third-party
development tool companies.
I/O Pins:
RB6, RB7
Stack:
Two levels
Program Memory:
512 bytes
Data Memory:
10 bytes