Agere Systems Inc.
83
Data Sheet
July 2001
T8302 Internet Protocol Telephone
Advanced RISC Machine (
ARM
)
8 External Memory Interface (EMI)
(continued)
8.4 ROM/RAM Remapping
An important design consideration is the layout of the memory map, and the memory present at address 0x0. Upon
reset, the
ARM
940T starts to fetch instructions from address 0x0. This requires ROM to be present at location 0x0
upon reset. However, this has some disadvantages. ROM is slower than RAM, and this slows down the handling of
processor exceptions through the vector table. Also, if the vector table is in ROM, it cannot be modified by the code.
For these reasons it is preferable to have RAM with the vector table and exception handlers at address 0x0.
For this purpose, the system decoder in the IPT_
ARM
supports ROM/RAM remapping, using the value of the
REMAP
bit (bit 12) of the
chip select configuration register FLASH_CS
(see Table 58 on page 84)
.
If
REMAP
= 0
FLASH_CS
will go active at two possible base addresses, address 0x0, and the base address value
programmed in the
chip select base address register FLASH_CS
(see Table 62 on page 87)
. This allows an
aliased copy of ROM to be present at the
chip select base address register
FLASH_CS
.
If
REMAP
= 1
FLASH_CS
will go active only at the base address programmed in the
chip select base address
register FLASH_CS
register
.
In both cases, the address range over which
FLASH_CS
goes active is determined by the block size (
BSZ
) (bits
3:0) of the
chip select base address register
FLASH_CS
.
For an example of a remap system implementation, refer to the
ARM Software Development Toolkit
documenta-
tion.
5-9387 (F)
Figure 13. ROM/RAM Remapping
8.4.1 Programmable Addresses
The memory addresses for each chip select are programmable by setting a base address and a block size in the
corresponding
chip select base address register
(see Table 62 on page 87)
. On reset, the
chip select base reg-
ister
FLASH_CS
is reset to a
2
Mbyte block starting at address 0x0.
CS1
,
CS2
,
CS3
, and the internal SRAM are
disabled.
The address space from 0x0000 0000:0xBFFF FFFF can be allocated over ROM (FLASH), external SDRAM, gen-
eral-purpose chip selects
FLASH_CS
,
CS1
,
CS2
,
CS3
, and internal 1K x 32 SRAM in any way. Each chip select is
capable of addressing up to 64 Mbytes
Note:
FLASH_CS is active-low..
Bits 3:0 (
BSZ
) of the
chip select base address register
select the block size of the memory covered by the chip
select. When the address is not in one of the ranges above, the value of the
chip select base address register
bits 23:4 (
ADDR[19:0]
) is masked by the block size and then matched against bits 31:12 of the address of each
memory request. Since this is a match type operation, the base address for each chip select must be a multiple of
the block size.
ROM
ROM
RAM
RAM
0x0
0x0
ROM
REMAP = 0
REMAP = 1
ALIASED
COPY OF
ROM