PIC18F2420/2520/4420/4520
Each of the five blocks has three code protection bits
associated with them. They are:
23.5 Program Verification and
Code Protection
• Code-Protect bit (CPn)
The overall structure of the code protection on the
PIC18 Flash devices differs significantly from other
PIC® devices.
• Write-Protect bit (WRTn)
• External Block Table Read bit (EBTRn)
Figure 23-5 shows the program memory organization
for 16 and 32-Kbyte devices and the specific code pro-
tection bit associated with each block. The actual
locations of the bits are summarized in Table 23-3.
The user program memory is divided into five blocks.
One of these is a boot block of 2 Kbytes. The remainder
of the memory is divided into four blocks on binary
boundaries.
FIGURE 23-5:
CODE-PROTECTED PROGRAM MEMORY FOR
PIC18F2420/2520/4420/4520
MEMORY SIZE/DEVICE
Block Code Protection
16 Kbytes
32 Kbytes
Address
Controlled By:
CPB, WRTB, EBTRB
CP0, WRT0, EBTR0
(PIC18F2420/4420) (PIC18F2520/4520) Range
000000h
0007FFh
Boot Block
Block 0
Boot Block
Block 0
000800h
001FFFh
002000h
Block 1
Block 1
Block 2
Block 3
CP1, WRT1, EBTR1
CP2, WRT2, EBTR2
CP3, WRT3, EBTR3
003FFFh
004000h
005FFFh
006000h
007FFFh
Unimplemented
Read ‘0’s
Unimplemented
Read ‘0’s
(Unimplemented Memory Space)
1FFFFFh
TABLE 23-3: SUMMARY OF CODE PROTECTION REGISTERS
File Name
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
300008h CONFIG5L
300009h CONFIG5H
30000Ah CONFIG6L
—
CPD
—
—
CPB
—
—
—
—
—
—
—
—
—
CP3(1)
CP2(1)
CP1
—
CP0
—
—
—
—
WRT3(1)
—
EBTR3(1) EBTR2(1) EBTR1
WRT2(1)
—
WRT1
—
WRT0
—
30000Bh CONFIG6H WRTD
WRTB
—
WRTC
—
30000Ch CONFIG7L
30000Dh CONFIG7H
—
—
EBTR0
—
EBTRB
—
—
—
—
Legend: Shaded cells are unimplemented.
Note 1: Unimplemented in PIC18F2420/4420 devices; maintain this bit set.
© 2008 Microchip Technology Inc.
DS39631E-page 263