UM10429
All information provided in this document is subject to legal disclaimers.
© NXP B.V. 2010. All rights reserved.
User manual
Rev. 1 — 20 October 2010
186 of 258
NXP Semiconductors
UM10429
Chapter 19: Appendix LPC1102 ARM Cortex-M0 reference
[1]
See
for more information.
The Code, SRAM, and external RAM regions can hold programs.
19.3.2.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. This is because:
•
the processor can reorder some memory accesses to improve efficiency, providing
this does not affect the behavior of the instruction sequence
•
memory or devices in the memory map might have different wait states
•
some memory accesses are buffered or speculative.
describes the cases where the memory system guarantees the order
of memory accesses. Otherwise, if the order of memory accesses is critical, software
must include memory barrier instructions to force that ordering. The processor provides
the following memory barrier instructions:
DMB —
The
Data Memory Barrier
(DMB) instruction ensures that outstanding memory
transactions complete before subsequent memory transactions. See
.
DSB —
The
Data Synchronization Barrier
(DSB) instruction ensures that outstanding
memory transactions complete before subsequent instructions execute. See
.
ISB —
The
Instruction Synchronization Barrier
(ISB) ensures that the effect of all
completed memory transactions is recognizable by subsequent instructions. See
.
The following are examples of using memory barrier instructions:
Table 199. Memory access behavior
Address
range
Memory
region
Memory
type
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.
0x40000000
-
0x5FFFFFFF
Peripheral
Device
XN
External device memory.
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. Only word accesses can be
used in this region.
0xE0100000
-
0xFFFFFFFF
Device
Device
XN
Vendor specific.