
2010 Microchip Technology Inc.
DS39774D-page 65
PIC18F85J11 FAMILY
6.1.3
PIC18F8XJ11 PROGRAM MEMORY
MODES
The 80-pin devices in this family can address up to a
total of 2 Mbytes of program memory. This is achieved
through the external memory bus. There are two
distinct operating modes available to the controllers:
Microcontroller (MC)
Extended Microcontroller (EMC)
The Program Memory mode is determined by setting
the EMB Configuration bits (CONFIG3L<5:4>), as
device Configuration bits.)
The Program Memory modes operate as follows:
The Microcontroller Mode accesses only on-chip
Flash memory. Attempts to read above the top of
on-chip memory causes a read of all ‘0’s (a NOP
instruction).
The Microcontroller mode is also the only operating
mode available to 64-pin devices.
The Extended Microcontroller Mode allows
access to both internal and external program
memories as a single block. The device can
access its entire on-chip program memory; above
this, the device accesses external program
memory up to the 2-Mbyte program space limit.
Execution automatically switches between the
two memories as required.
The setting of the EMB Configuration bits also controls
the address bus width of the external memory bus. This
In all modes, the microcontroller has complete access
to data RAM.
Figure 6-3 compares the memory maps of the different
Program Memory modes. The differences between
on-chip and external memory access limitations are
REGISTER 6-1:
CONFIG3L: CONFIGURATION REGISTER 3 LOW (BYTE ADDRESS 300004h)(1)
R/WO-1
U-0
WAIT
BW
EMB1
EMB0
EASHFT
—
bit 7
bit 0
Legend:
R = Readable bit
WO = Write-Once bit
U = Unimplemented bit, read as ‘0’
-n = Value when device is unprogrammed
‘1’ = Bit is set
‘0’ = Bit is cleared
bit 7
WAIT: External Bus Wait Enable bit
1
= Wait selections from WAIT<1:0> (MEMCON<5:4>) are unavailable and the device will not wait
0
= Wait is programmed by WAIT<1:0> (MEMCON<5:4>)
bit 6
BW: Data Bus Width Select bit
1
= 16-Bit External Bus mode
0
= 8-Bit External Bus mode
bit 5:4
EMB<1:0>: External Memory Bus Configuration bits
00
= Extended Microcontroller mode – 20-Bit Address mode
01
= Extended Microcontroller mode – 16-Bit Address mode
10
= Extended Microcontroller mode – 12-Bit Address mode
11
= Microcontroller mode – external bus disabled
bit 3
EASHFT: External Address Bus Shift Enable bit
1
= Address shifting enabled – external address bus is shifted to start at 000000h
0
= Address shifting disabled – external address bus reflects the PC value
bit 2-0
Unimplemented: Read as ‘0’
Note 1:
CONFIG3L and its associated bits are implemented only in 80-pin devices.