Microchip Technology ARD00385 Data Sheet
2009-2011 Microchip Technology Inc.
DS39957D-page 447
PIC18F87K90 FAMILY
28.6
Program Verification and
Code Protection
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.
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)
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
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
17FFh
Block 1
4 kW
Block 1
4 kW
1800
3FFF
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
5FFFh
Block 3
4 kW
Block 3
4 kW
6000h
7FFF
7FFF
Block 2
8 kW
Block 2
8 kW
Block 2
8 kW
Block 2
8 kW
8000h
BFFFh
BFFFh
Block 3
8 kW
Block 3
8 kW
Block 3
8 kW
Block 3
8 kW
C000h
FFFFh
FFFFh
Block 4
8 kW
Block 4
8 kW
10000h
13FFFh
13FFFh
Block 5
8 kW
Block 5
8 kW
14000h
17FFFh
17FFFh
Block 6
8 kW
Block 6
8 kW
18000h
1BFFFh
1BFFFh
Block 7
8 kW
Block 7
8 kW
1C000h
1FFFFh
1FFFFh
Unimplemented
Read as ‘0’