Datasheet

2010 Microchip Technology Inc. DS41303G-page 65
PIC18F2XK20/4XK20
5.0 MEMORY ORGANIZATION
There are three types of memory in PIC18 Enhanced
microcontroller devices:
Program Memory
Data RAM
Data EEPROM
As Harvard architecture devices, the data and program
memories use separate busses; this allows for concur-
rent access of the two memory spaces. The data
EEPROM, for practical purposes, can be regarded as
a peripheral device, since it is addressed and accessed
through a set of control registers.
Additional detailed information on the operation of the
Flash program memory is provided in Section 6.0
“Flash Program Memory”. Data EEPROM is
discussed separately in Section 7.0 “Data EEPROM
Memory.
5.1 Program Memory Organization
PIC18 microcontrollers implement a 21-bit program
counter, which is capable of addressing a 2-Mbyte
program memory space. Accessing a location between
the upper boundary of the physically implemented
memory and the 2-Mbyte address will return all ‘0’s (a
NOP instruction).
This family of devices contain the following:
PIC18F23K20, PIC18F43K20: 8 Kbytes of Flash
Memory, up to 4,096 single-word instructions
PIC18F24K20, PIC18F44K20: 16 Kbytes of Flash
Memory, up to 8,192 single-word instructions
PIC18F25K20, PIC18F45K20: 32 Kbytes of Flash
Memory, up to 16,384 single-word instructions
PIC18F26K20, PIC18F46K20: 64 Kbytes of Flash
Memory, up to 37,768 single-word instructions
PIC18 devices have two interrupt vectors. The Reset
vector address is at 0000h and the interrupt vector
addresses are at 0008h and 0018h.
The program memory map for PIC18F2XK20/4XK20
devices is shown in Figure 5-1. Memory block details
are shown in Figure 23-2.
FIGURE 5-1: PROGRAM MEMORY MAP AND STACK FOR PIC18F2XK20/4XK20 DEVICES
PC<20:0>
Stack Level 1
Stack Level 31
Reset Vector
Low Priority Interrupt Vector
CALL,RCALL,RETURN
RETFIE,RETLW
21
0000h
0018h
On-Chip
Program Memory
High Priority Interrupt Vector
0008h
User Memory Space
1FFFFFh
4000h
3FFFh
Read ‘0
200000h
8000h
7FFFh
On-Chip
Program Memory
Read ‘0
1FFFh
2000h
On-Chip
Program Memory
Read ‘0
PIC18F25K20/
45K20
PIC18F24K20/
44K20
PIC18F23K20/
43K20
Read ‘0
FFFFh
PIC18F26K20/
46K20
On-Chip
Program Memory
10000h