Device or Strongly Ordered memory, and if A1 occurs before A2 in program order, A1 is always
observed before A2.
2.4.3 Behavior of Memory Accesses
Table 2-5 on page 76 shows the behavior of accesses to each region in the memory map. See
“Memory Regions, Types and Attributes” on page 75 for more information on memory types and
the XN attribute. Stellaris devices may have reserved memory areas within the address ranges
shown below (refer to Table 2-4 on page 73 for more information).
Table 2-5. Memory Access Behavior
DescriptionExecute
Never
(XN)
Memory TypeMemory RegionAddress Range
This executable region is for program code.
Data can also be stored here.
-NormalCode0x0000.0000 - 0x1FFF.FFFF
This executable region is for data. Code
can also be stored here. This region
includes bit band and bit band alias areas
(see Table 2-6 on page 78).
-NormalSRAM0x2000.0000 - 0x3FFF.FFFF
This region includes bit band and bit band
alias areas (see Table 2-7 on page 78).
XNDevicePeripheral0x4000.0000 - 0x5FFF.FFFF
This executable region is for data.-NormalExternal RAM0x6000.0000 - 0x9FFF.FFFF
This region is for external device memory.XNDeviceExternal device0xA000.0000 - 0xDFFF.FFFF
This region includes the NVIC, system
timer, and system control block.
XNStrongly
Ordered
Private peripheral
bus
0xE000.0000- 0xE00F.FFFF
---Reserved0xE010.0000- 0xFFFF.FFFF
The Code, SRAM, and external RAM regions can hold programs. However, it is recommended that
programs always use the Code region because the Cortex-M3 has separate buses that can perform
instruction fetches and data accesses simultaneously.
The MPU can override the default memory access behavior described in this section. For more
information, see “Memory Protection Unit (MPU)” on page 100.
The Cortex-M3 prefetches instructions ahead of execution and speculatively prefetches from branch
target addresses.
2.4.4 Software Ordering of Memory Accesses
The order of instructions in the program flow does not always guarantee the order of the
corresponding memory transactions for the following reasons:
■ The processor can reorder some memory accesses to improve efficiency, providing this does
not affect the behavior of the instruction sequence.
■ The processor has multiple bus interfaces.
■ Memory or devices in the memory map have different wait states.
■ Some memory accesses are buffered or speculative.
“Memory System Ordering of Memory Accesses” on page 75 describes the cases where the memory
system guarantees the order of memory accesses. Otherwise, if the order of memory accesses is
July 24, 201276
Texas Instruments-Production Data
The Cortex-M3 Processor
OBSOLETE: TI has discontinued production of this device.