
DR
AFT
DR
AFT
DRAFT
DR
D
RAFT
DRAFT
DRA
FT DRAF
D
RAFT DRAFT DRAFT DRAFT DRAFT D
DRAFT
D
RAFT DRA
FT DRAFT DRAFT DRAFT DRA
UM10360_0
© NXP B.V. 2009. All rights reserved.
User manual
Rev. 00.06 — 5 June 2009
709 of 808
NXP Semiconductors
UM10360
Chapter 34: Appendix: Cortex-M3 User Guide
•
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
Use memory barrier instructions in, for example:
Memory accesses to Strongly-ordered memory, such as the system control block, do not
require the use of
DMB
instructions.
•
MPU programming:
–
Use a
DSB
instruction to ensure the effect of the MPU takes place immediately at
the end of context switching.
–
Use an
ISB
instruction to ensure the new MPU setting takes effect immediately
after programming the MPU region or regions, if the MPU configuration code was
accessed using a branch or call. If the MPU configuration code is entered using
exception mechanisms, then an
ISB
instruction is not required.
•
Vector table. If the program changes an entry in the vector table, and then enables the
corresponding exception, use a
DMB
instruction between the operations. This ensures
that if the exception is taken immediately after being enabled the processor uses the
new exception vector.
•
Self-modifying code. If a program contains self-modifying code, use an
ISB
instruction
immediately after the code modification in the program. This ensures subsequent
instruction execution uses the updated program.
•
Memory map switching. If the system contains a memory map switching mechanism,
use a
DSB
instruction after switching the memory map in the program. This ensures
subsequent instruction execution uses the updated memory map.
•
Dynamic exception priority change. When an exception priority has to change when
the exception is pending or active, use
DSB
instructions after the change. This ensures
the change takes effect on completion of the
DSB
instruction.
•
Using a semaphore in multi-master system. If the system contains more than one bus
master, for example, if another processor is present in the system, each processor
must use a
DMB
instruction after any semaphore instructions, to ensure other bus
masters see the memory transactions in the order in which they were executed.
3.2.5 Bit-banding
A bit-band region maps each word in a
bit-band alias
region to a single bit in the
bit-band region
. The bit-band regions occupy the lowest 1MB of the SRAM and
peripheral memory regions.