Unexpected memory behavior at address ranges 0x22xxxxxx, 0x23xxxxxx, 0x42xxxxxx, or 0x43xxxxxx in the Cortex-M3/Cortex-M4 processors
Article ID: 103489860
Published date: 13 Feb 2018
Last updated: -
Applies to: Cortex-M4, Cortex-M3
Why is there unexpected memory behavior at address ranges 0x22xxxxxx, 0x23xxxxxx, 0x42xxxxxx or 0x43xxxxxx in the Cortex-M3 and Cortex-M4 processors?
See the system address map in the processor Technical Reference Manual (TRM).
These address ranges correspond to the bit band alias regions, where accesses to word-aligned addresses are converted on the fly into bit-wise accesses to the corresponding bit band region.
Bit-banding is an implementation option for the chip designer. If bit-banding is implemented in a chip, these bit band alias address regions cannot be usefully populated with memory, as all word-aligned accesses are converted into bit-band accesses.
This feature of the memory map is not mentioned in the ARMv7-M Architecture Reference Manual because bit-banding is not a feature of the architecture. It is an implementation-defined feature of these processors.