Unaligned Accesses That Cross Regions - ARM Cortex-M3 Technical Reference Manual

R2p0
Hide thumbs Also See for Cortex-M3:
Table of Contents

Advertisement

Bus Interface
12.9

Unaligned accesses that cross regions

12-12
The CM3Core supports ARMv6 unaligned accesses, and performs all accesses as
single, unaligned accesses. They are converted into two or more aligned accesses by the
DCode and System bus interfaces.
Note
All Cortex-M3 external accesses are aligned.
Unaligned support is only available for load/store singles (LDR, STR). Load/store
double already supports word aligned accesses, but does not permit other unaligned
accesses, and generates a fault if this is attempted.
Unaligned accesses that cross memory map boundaries are architecturally
Unpredictable. The processor behavior is boundary dependent, as follows:
DCode accesses wrap within the region. For example, an unaligned halfword
access to the last byte of Code space (
interface into a byte access to
System accesses that cross into PPB space do not wrap within System space. For
example, an unaligned halfword access to the last byte of System space
(
) is converted by the System interface into a byte access to
0xDFFFFFFF
followed by a byte access to 0xE0000000.
System bus.
System accesses that cross into Code space do not wrap within System space. For
example, an unaligned halfword access to the last byte of System space
(
) is converted by the System interface into a byte access to
0xFFFFFFFF
followed by a byte access to
System bus.
Unaligned accesses are not supported to PPB space, and so there are no boundary
crossing cases for PPB accesses.
Unaligned accesses that cross into the bit-band alias regions are also architecturally
Unpredictable. The processor performs the access to the bit-band alias address, but this
does not result in a bit-band operation. For example, an unaligned halfword access to
is performed as a byte access to
0x21FFFFFF
0x22000000
(the first byte of the bit-band alias).
Unaligned loads that match against a literal comparator in the FPB are not remapped.
FPB only remaps aligned addresses.
Copyright © 2005-2008 ARM Limited. All rights reserved.
0x1FFFFFFF
0x1FFFFFFF
0x00000000
.
0x21FFFFFF
Non-Confidential
) is converted by the DCode
followed by a byte access to
is not a valid address on the
0xE0000000
0x00000000
is not a valid address on the
followed by a byte access to
.
0x00000000
0xDFFFFFFF
0xFFFFFFFF
ARM DDI 0337G
Unrestricted Access

Advertisement

Table of Contents
loading

Table of Contents