The Cortex-M4 Processor
ARM DUI 0553A
Copyright © 2010 ARM. All rights reserved.
2-14
ID121610
Non-Confidential
2.2.3
Behavior of memory accesses
The behavior of accesses to each region in the memory map is:
The Code, SRAM, and external RAM regions can hold programs. However, ARM recommends
that programs always use the Code region. This is because the processor has separate buses that
enable instruction fetches and data accesses to occur simultaneously.
The optional MPU can override the default memory access behavior described in this section.
For more information, see
Optional Memory Protection Unit
Additional memory access constraints for caches and shared memory
When a system includes caches or shared memory, some memory regions might have additional
access constraints, and some regions are subdivided, as
Table 2-11 Memory access behavior
Address
range
Memory region
Memory
type
a
XN
Description
0x00000000
-
0x1FFFFFFF
Code
Normal
-
Executable region for program code. You can also put data here.
0x20000000
-
0x3FFFFFFF
SRAM
Normal
-
Executable region for data. You can also put code here. This region
includes bit band and bit band alias areas, see
.
0x40000000
-
0x5FFFFFFF
Peripheral
Device
XN
This region includes bit band and bit band alias areas, see
.
0x60000000
-
0x9FFFFFFF
External RAM
Normal
-
Executable region for data.
0xA0000000
-
0xDFFFFFFF
External device
Device
XN
External Device memory.
0xE0000000
-
0xE00FFFFF
Private Peripheral Bus
Strongly-
ordered
XN
This region includes the NVIC, System timer, and system control
block.
0xE0100000
-
0xFFFFFFFF
Device
Device
XN
Implementation-specific.
a. See
Memory regions, types and attributes
for more information.
Table 2-12 Memory region shareability and cache policies
Address range
Memory region
Memory type
Shareability
Cache policy
0x00000000
-
0x1FFFFFFF
Code
Normal
a
-
WT
b
0x20000000
-
0x3FFFFFFF
SRAM
Normal
-
WBWA
0x40000000
-
0x5FFFFFFF
Peripheral
Device
-
-
0x60000000
-
0x7FFFFFFF
External RAM
Normal
-
WBWA
0x80000000
-
0x9FFFFFFF
WT