SLAU723A October 2017 – October 2018 MSP432E401Y , MSP432E411Y
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. Accesses to the 32-MB SRAM alias region map to the 1-MB SRAM bit-band region, as shown in Table 1-17. Accesses to the 32-MB peripheral alias region map to the 1-MB peripheral bit-band region, as shown in Table 1-18. For the specific address range of the bit-band regions, see Table 1-15.
NOTE
A word access to the SRAM or the peripheral bit-band alias region maps to a single bit in the SRAM or peripheral bit-band region.
A word access to a bit-band address results in a word access to the underlying memory, and similarly for halfword and byte accesses. This allows bit-band accesses to match the access requirements of the underlying peripheral.
Address Range | Memory Region | Instruction and Data Accesses | |
---|---|---|---|
Start | End | ||
0x2000.0000 | 0x2006.FFFF | SRAM bit-band region | Direct accesses to this memory range behave as SRAM accesses, but this region is also bit addressable through bit-band alias. |
0x2200.0000 | 0x2234.FFFF | 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. |
Address Range | Memory Region | Instruction and Data Accesses | |
---|---|---|---|
Start | End | ||
0x4000.0000 | 0x400F.FFFF | Peripheral bit-band region | Direct accesses to this memory range behave as peripheral memory accesses, but this region is also bit addressable through bit-band alias. |
0x4200.0000 | 0x43FF.FFFF | Peripheral 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 permitted. |
The following formula shows how the alias region maps onto the bit-band region:
bit_word_offset = (byte_offset × 32) + (bit_number × 4)
bit_word_addr = bit_band_base + bit_word_offset
where:
bit_word_offset = The position of the target bit in the bit-band memory region.
bit_word_addr = The address of the word in the alias memory region that maps to the targeted bit.
bit_band_base = The starting address of the alias region.
byte_offset = The number of the byte in the bit-band region that contains the targeted bit.
bit_number = The bit position, 0-7, of the targeted bit.
Figure 1-14 shows examples of bit-band mapping between the SRAM bit-band alias region and the SRAM bit-band region:
0x23FF.FFE0 = 0x2200.0000 + (0x000F.FFFF × 32) + (0 × 4)
0x23FF.FFFC = 0x2200.0000 + (0x000F.FFFF × 32) + (7 × 4)
0x2200.0000 = 0x2200.0000 + (0 × 32) + (0 × 4)
0x2200.001C = 0x2200.0000+ (0 × 32) + (7 × 4)