Microchip Technology DM164134 Hoja De Datos
© 2006 Microchip Technology Inc.
DS41159E-page 37
PIC18FXX8
4.0
MEMORY ORGANIZATION
There are three memory blocks in Enhanced MCU
devices. These memory blocks are:
devices. These memory blocks are:
• Enhanced Flash Program Memory
• Data Memory
• EEPROM Data Memory
• Data Memory
• EEPROM Data Memory
Data and program memory use separate busses,
which allows concurrent access of these blocks.
Additional detailed information on data EEPROM and
Flash program memory is provided in Section 5.0
“Data EEPROM Memory” and Section 6.0 “Flash
Program Memory”, respectively.
which allows concurrent access of these blocks.
Additional detailed information on data EEPROM and
Flash program memory is provided in Section 5.0
“Data EEPROM Memory” and Section 6.0 “Flash
Program Memory”, respectively.
4.1
Program Memory Organization
The PIC18F258/458 devices have a 21-bit program
counter that is capable of addressing a 2-Mbyte
program memory space.
counter that is capable of addressing a 2-Mbyte
program memory space.
The Reset vector address is at 0000h and the interrupt
vector addresses are at 0008h and 0018h.
vector addresses are at 0008h and 0018h.
FIGURE 4-1:
PROGRAM MEMORY MAP
AND STACK FOR
PIC18F248/448
AND STACK FOR
PIC18F248/448
Figure 4-1 shows the diagram for program memory
map and stack for the PIC18F248 and PIC18F448.
Figure 4-2 shows the diagram for the program memory
map and stack for the PIC18F258 and PIC18F458.
map and stack for the PIC18F248 and PIC18F448.
Figure 4-2 shows the diagram for the program memory
map and stack for the PIC18F258 and PIC18F458.
4.1.1
INTERNAL PROGRAM MEMORY
OPERATION
OPERATION
The PIC18F258 and the PIC18F458 have 32 Kbytes of
internal Enhanced Flash program memory. This means
that the PIC18F258 and the PIC18F458 can store up to
16K of single-word instructions. The PIC18F248 and
PIC18F448 have 16 Kbytes of Enhanced Flash
program memory. This translates into 8192 single-word
instructions, which can be stored in the program
memory. Accessing a location between the physically
implemented memory and the 2-Mbyte address will
cause a read of all ‘0’s (a NOP instruction).
internal Enhanced Flash program memory. This means
that the PIC18F258 and the PIC18F458 can store up to
16K of single-word instructions. The PIC18F248 and
PIC18F448 have 16 Kbytes of Enhanced Flash
program memory. This translates into 8192 single-word
instructions, which can be stored in the program
memory. Accessing a location between the physically
implemented memory and the 2-Mbyte address will
cause a read of all ‘0’s (a NOP instruction).
FIGURE 4-2:
PROGRAM MEMORY MAP
AND STACK FOR
PIC18F258/458
AND STACK FOR
PIC18F258/458
PC<20:0>
Stack Level 1
•
Stack Level 31
Reset Vector
Low Priority Interrupt Vector
•
•
21
0000h
0018h
On-Chip
Program Memory
High Priority Interrupt Vector 0008h
U
s
er Mem
o
ry Sp
ac
e
1FFFFFh
4000h
3FFFh
Read ‘0’
200000h
CALL,RCALL,RETURN
RETFIE,RETLW
RETFIE,RETLW
PC<20:0>
Stack Level 1
Stack Level 31
Reset Vector
Low Priority Interrupt Vector
CALL,RCALL,RETURN
RETFIE,RETLW
RETFIE,RETLW
21
0000h
0018h
8000h
7FFFh
On-Chip
Program Memory
High Priority Interrupt Vector 0008h
U
s
e
r Me
m
o
ry
Sp
a
c
e
Read ‘0’
1FFFFFh
200000h
200000h
•
•
•