The Cortex-M4 Processor
ARM DUI 0553A
Copyright © 2010 ARM. All rights reserved.
2-16
ID121610
Non-Confidential
2.2.5
Optional 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.
The memory map has two 32MB alias regions that map to two 1MB bit-band regions:
•
accesses to the 32MB SRAM alias region map to the 1MB SRAM bit-band region, as
shown in
•
accesses to the 32MB peripheral alias region map to the 1MB peripheral bit-band region,
as shown in
Note
•
A word access to the SRAM or peripheral bit-band alias regions maps to a single bit in the
SRAM or peripheral bit-band region
•
Bit band accesses can use byte, halfword, or word transfers. The bit band transfer size
matches the transfer size of the instruction making the bit band access.
The following formula shows how the alias region maps onto the bit-band region:
bit_word_offset = (byte_offset x 32) + (bit_number x 4)
bit_word_addr = bit_ban bit_word_offset
where:
•
Bit_word_offset
is the position of the target bit in the bit-band memory region
•
Bit_word_addr
is the address of the word in the alias memory region that maps to the
targeted bit.
•
Bit_band_base
is the starting address of the alias region
•
Byte_offset
is the number of the byte in the bit-band region that contains the targeted bit
Table 2-13 SRAM memory bit-banding regions
Address
range
Memory region
Instruction and data accesses
0x20000000
-
0x200FFFFF
SRAM bit-band region
Direct accesses to this memory range behave as SRAM memory accesses, but
this region is also bit addressable through bit-band alias.
0x22000000
-
0x23FFFFFF
SRAM bit-band alias
Data accesses to this region are remapped to bit band region. A write operation
is performed as read-modify-write. Instruction accesses are not remapped.
Table 2-14 Peripheral memory bit-banding regions
Address
range
Memory region
Instruction and data accesses
0x40000000-
0x400FFFFF
Peripheral bit-band alias
Direct accesses to this memory range behave as peripheral memory
accesses, but this region is also bit addressable through bit-band alias.
0x42000000-
0x43FFFFFF
Peripheral bit-band region
Data accesses to this region are remapped to bit band region. A write
operation is performed as read-modify-write. Instruction accesses are not
permitted.