Datasheet

© 2009 Microchip Technology Inc. DS39636D-page 55
PIC18F2X1X/4X1X
5.0 MEMORY ORGANIZATION
There are two types of memory in PIC18F2X1X/4X1X
microcontroller devices:
Program Memory
Data RAM
As Harvard architecture devices, the data and program
memories use separate busses; this allows for
concurrent access of the two memory spaces.
Additional detailed information on the operation of the
Flash program memory is provided in Section 6.0
“Flash Program 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).
The PIC18F2410/4410 and PIC18F2510 each have
16 Kbytes of Flash memory and can store up to 8,192
single-word instructions. The PIC18F2510/4510 each
have 32 Kbytes of Flash memory and can store up to
16,384 single-word instructions. The PIC18F2515/4515
each have 48 Kbytes of Flash memory and can store up
to 24,576 single-word instructions. The PIC18F2610/
4610 each have 64 Kbytes of Flash memory and can
store up to 32,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 PIC18F2X1X/4X1X
devices is shown in Figure 5-1.
FIGURE 5-1: PROGRAM MEMORY MAP AND STACK FOR
PIC18F2X1X/4X1X DEVICES
PC<20:0>
Stack Level 1
Stack Level 31
Reset Vector
Low Priority Interrupt Vector
CALL,RCALL,RETURN
RETFIE,RETLW
21
00000h
00018h
On-Chip
Program Memory
High Priority Interrupt Vector
00008h
User Memory Space
1FFFFFh
Read ‘0
200000h
08000h
07FFFh
0C000h
0BFFFh
On-Chip
Program Memory
Read ‘0
On-Chip
Program Memory
Read ‘0
10000h
04000h
03FFFh
On-Chip
Program Memory
Read ‘0
0FFFFh
PIC18F2410/4410
(16 Kbytes)
(32 Kbytes) (48 Kbytes)
(64 Kbytes)
PIC18F2510/4510
PIC18F2515/4515
PIC18F2610/4610