3.5. Flash memory

The baseboard can be built with 16, 32, or 64MB of flash using 64 or 128Mb devices. (Typically, 16MB of flash is used.) Regardless of the size of flash memory, the top 256KB of the flash device is reserved for the system boot code. The remaining flash memory is available for your own code requirements.

The physical address of the boot code varies according to the amount of flash fitted as shown in Figure 3.4. The true start of flash is 0x24000000 and the flash extends to the size of the device fitted. For convenience, and to maintain compatibility with previous Integrator systems, a boot code alias region is provided at 0x20000000 and contains 256 aliased copies of the 256KB boot code area.

The bottom of the memory map is a configurable region. If the REMAP bit is 0, flash memory appears at 0x0. See the documentation supplied with your core module for more information on REMAP.

Switch S2[1] selects boot or user code at 0x0, see Setting the DIP switches.

Figure 3.4. Flash memory mapping

Note

The copies of the boot code at 0x20000000 are aliases. The boot code can also be mapped to 0x00000000 by setting REMAP to 0 and setting SW2[1] to 1.

For more information on REMAP, see the documentation provided with the core module.

Table 3.3 shows the mapping of the flash memory for 16, 32, and 64MB configurations.

Table 3.3. Flash memory mapping

Memory Address rangeContent
16MB0x000000000x000FFFFFfour copies of 0x24FC00000x24FFFFFF (REMAP= 0)
0x200000000x23FFFFFF256 copies of 0x24FC00000x24FFFFFF
0x240000000x24FBFFFFUser code area
0x24FC00000x24FFFFFFBoot code area
0x250000000x27FFFFFFNot selected, reads return undefined values
32MB0x000000000x000FFFFFfour copies of 0x25FC00000x25FFFFFF (REMAP= 0)
0x200000000x23FFFFFF256 copies of 0x25FC00000x25FFFFFF
0x240000000x25FBFFFFUser code area
0x25FC00000x25FFFFFFBoot code area
0x260000000x27FFFFFFNot selected, reads return undefined values
64MB0x000000000x000FFFFFfour copies of 0x27FC00000x27FFFFFF (REMAP= 0)
0x200000000x23FFFFFF256 copies of 0x27FC00000x27FFFFFF
0x240000000x27FBFFFFUser code area
0x27FC00000x27FFFFFFBoot code area

The programmable logic device on the baseboard provides an AHB slave interface to the flash. Two links, EXTRABANK and FLASHSIZE are set at build time to indicate to the slave interface how many devices are fitted and their type (see Table 3.4).

Table 3.4. Flash configuration

ConfigurationEXTRABANKFLASHSIZEOverall capacity
2 x 64Mb0016Mbyte
4 x 64Mb1032Mbyte
2 x 128Mb0132Mbyte
4 x 128Mb1164Mbyte
Copyright © 2002 ARM Limited. All rights reserved.ARM DUI 0159B
Non-Confidential