Microchip Technology ARD00385 Data Sheet

Page of 570
 2009-2011 Microchip Technology Inc.
DS39957D-page 447
PIC18F87K90 FAMILY
28.6
Program Verification and 
Code Protection
The user program memory is divided into four blocks
for the PIC18FX5K90 device and PIC18FX6K90
devices, and eight blocks for PIC18FX7K90 devices.
One of these is a boot block of 1 or 2 Kbytes. The
remainder of the memory is divided into blocks on
binary boundaries. 
Each of the blocks has three code protection bits
associated with them. They are:
• Code-Protect bit (CPn)
• Write-Protect bit (WRTn)
• External Block Table Read bit (EBTRn) 
 shows the program memory organization for
48, 64, 96 and 128-Kbyte devices and the specific code
protection bit associated with each block. The actual
locations of the bits are summarized in 
FIGURE 28-6:
CODE-PROTECTED PROGRAM MEMORY FOR THE PIC18F87K90 FAMILY
000000h
200000h
3FFFFFh
01FFFFh
Note
1:
Sizes of memory areas are not to scale.
2:
Boot block size is determined by the BBSIZ0 bit (CONFIG4L<4>).
Code Memory
Unimplemented
Read as ‘
0
Configuration
and ID
Space
Device/Memory Size
(2)
Address
PIC18FX7K90
PIC18FX6K90
PIC18FX5K90
BBSIZ = 1 BBSIZ = 0 BBSIZ = 1 BBSIZ = 0 BBSIZ = 1 BBSIZ = 0
Boot 
Block
2 kW
Boot 
Block
Boot 
Block
2 kW
Boot 
Block
Boot Block
2 kW
Boot 
Block
0000h
Block 0
7 kW
Block 0
7 kW
Block 0
3 kW
0800h
Block 0
6 kW
Block 0
6 kW
Block 0
2 kW
1000h
17FFh
Block 1
4 kW
Block 1
4 kW
1800
3FFF
Block 1
8 kW
Block 1
8 kW
Block 1
8 kW
Block 1
8 kW
Block 2
4 kW
Block 2
4 kW
4000h
5FFFh
Block 3
4 kW
Block 3
4 kW
6000h
7FFF
Block 2
8 kW
Block 2
8 kW
Block 2
8 kW
Block 2
8 kW
8000h
BFFFh
Block 3
8 kW
Block 3
8 kW
Block 3
8 kW
Block 3
8 kW
C000h
FFFFh
Block 4
8 kW
Block 4
8 kW
10000h
13FFFh
Block 5
8 kW
Block 5
8 kW
14000h
17FFFh
Block 6
8 kW
Block 6
8 kW
18000h
1BFFFh
Block 7
8 kW
Block 7
8 kW
1C000h
1FFFFh
Unimplemented
Read as ‘0’