Datasheet

Table Of Contents
© 2009 Microchip Technology Inc. DS39689F-page 59
PIC18F2221/2321/4221/4321 FAMILY
6.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 con-
current 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 7.0
“Flash Program Memory”. Data EEPROM is
discussed separately in Section 8.0 “Data EEPROM
Memory.
6.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 PIC18F2221 and PIC18F4221 each have 4 Kbytes
of Flash memory and can store up to 2048 single-word
instructions. The PIC18F2321 and PIC18F4321 each
have 8 Kbytes of Flash memory and can store up to
4096 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 maps for PIC18F2221/4221 and
PIC18F2321/4321 devices are shown in Figure 6-1.
FIGURE 6-1: PROGRAM MEMORY MAP AND STACK FOR PIC18F2221/2321/4221/4321 FAMILY
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
1000h
0FFFh
Read ‘0
200000h
PC<20:0>
Stack Level 1
Stack Level 31
Reset Vector
Low-Priority Interrupt Vector
CALL,RCALL,RETURN
RETFIE,RETLW
21
0000h
0018h
2000h
1FFFh
On-Chip
Program Memory
High-Priority Interrupt Vector
0008h
User Memory Space
Read ‘0
1FFFFFh
200000h
PIC18FX221
PIC18FX321