PIC18F2420/2520/4420/4520
5.1
Program Memory Organization
5.0
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
NOPinstruction).
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.
The PIC18F2420 and PIC18F4420 each have 16 Kbytes
of Flash memory and can store up to 8,192 single-word
instructions. The PIC18F2520 and PIC18F4520 each
have 32 Kbytes of Flash memory and can store up to
16,384 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.
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”.
The program memory map for PIC18F2420/2520/
4420/4520 devices is shown in Figure 5-1.
FIGURE 5-1:
PROGRAM MEMORY MAP AND STACK FOR
PIC18F2420/2520/4420/4520 DEVICES
PC<20:0>
CALL,RCALL,RETURN
RETFIE,RETLW
21
Stack Level 1
•
•
•
Stack Level 31
Reset Vector
0000h
High-Priority Interrupt Vector
Low-Priority Interrupt Vector
0008h
0018h
On-Chip
Program Memory
On-Chip
Program Memory
3FFFh
4000h
PIC18F2420/4420
7FFFh
8000h
PIC18F2520/4520
Read ‘0’
Read ‘0’
1FFFFFh
200000h
© 2008 Microchip Technology Inc.
DS39631E-page 53