English
Language : 

PIC18F4321 Datasheet, PDF (271/396 Pages) Microchip Technology – 28/40/44-Pin Enhanced Flash Microcontrollers with 10-Bit A/D and nanoWatt Technology
PIC18F4321 FAMILY
TABLE 23-3: SUMMARY OF CODE PROTECTION REGISTERS
File Name
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
300008h CONFIG5L —
—
—
—
—
300009h CONFIG5H CPD
CPB
—
—
—
30000Ah CONFIG6L —
—
—
—
—
30000Bh CONFIG6H WRTD WRTB WRTC
—
—
30000Ch CONFIG7L —
—
—
—
—
30000Dh CONFIG7H —
EBTRB
—
—
—
Legend: Shaded cells are unimplemented.
Bit 2
—
—
—
—
—
—
Bit 1
CP1
—
WRT1
—
EBTR1
—
Bit 0
CP0
—
WRT0
—
EBTR0
—
23.5.1 PROGRAM MEMORY
CODE PROTECTION
The program memory may be read to or written from
any location using the table read and table write
instructions. The device ID may be read with table
reads. The Configuration registers may be read and
written with the table read and table write instructions.
In normal execution mode, the CPn bits have no direct
effect. CPn bits inhibit external reads and writes. A
block of user memory may be protected from table
writes if the WRTn Configuration bit is ‘0’. The EBTRn
bits control table reads. For a block of user memory
with the EBTRn bit set to ‘0’, a table read instruction
that executes from within that block is allowed to read.
A table read instruction that executes from a location
outside of that block is not allowed to read and will result
in reading ‘0’s. Figures 23-6 through 23-8 illustrate table
write and table read protection.
Note:
Code protection bits may only be written to
a ‘0’ from a ‘1’ state. It is not possible to
write a ‘1’ to a bit in the ‘0’ state. Code
protection bits are only set to ‘1’ by a full
chip erase or block erase function. The full
chip erase and block erase functions can
only be initiated via ICSP operation or an
external programmer.
FIGURE 23-6:
TABLE WRITE (WRTn) DISALLOWED
Register Values
Program Memory(1)
Configuration Bit Settings
Boot Block
WRTB, EBTRB = 11
TBLPTR = 0008FFh
PC = 003FFEh
PC = 00BFFEh
Block 0
TBLWT*
Block 1
TBLWT*
WRT0, EBTR0 = 01
WRT1, EBTR1 = 11
Results: All table writes disabled to Blockn whenever WRTn = 0.
Note 1: See Figure 23-5 for block boundaries.
© 2007 Microchip Technology Inc.
Preliminary
DS39689E-page 269