Cortex-M3 Processor (Reference Material)
UG0331 User Guide Revision 15.0 33
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_band_base + 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.
• Bit_number is the bit position, 0-7, of the targeted bit.
The following illustration shows examples of bit-band mapping between the SRAM bit-band alias region
and the SRAM bit-band region.
• The alias word at 0x23FFFFE0 maps to bit[0] of the bit-band byte at 0x200FFFFF:
0x23FFFFE0 = 0x22000000 + (0xFFFFF*32) + (0*4).
• The alias word at 0x23FFFFFC maps to bit[7] of the bit-band byte at 0x200FFFFF:
0x23FFFFFC = 0x22000000 + (0xFFFFF*32) + (7*4).
• The alias word at 0x22000000 maps to bit[0] of the bit-band byte at 0x20000000:
0x22000000 = 0x22000000 + (0*32) + (0 *4).
• The alias word at 0x2200001C maps to bit[7] of the bit-band byte at 0x20000000:
0x2200001C = 0x22000000+ (0*32) + (7*4).
Figure 13 • Bit-band Mapping
3.5.2.5.1 Directly Accessing an Alias Region
Writing to a word in the alias region updates a single bit in the bit-band region.
Bit[0] of the value written to a word in the alias region determines the value written to the targeted bit in
the bit-band region. Writing a value with bit[0] set to 1 writes a 1 to the bit-band bit, and writing a value
with bit[0] set to 0 writes a 0 to the bit-band bit.
Bits[31:1] of the alias word have no effect on the bit-band bit. Writing 0x01 has the same effect as writing
0xFF. Writing 0x00 has the same effect as writing 0x0E.
Reading a word in the alias region:
• 0x00000000 indicates that the targeted bit in the bit-band region is set to zero
• 0x00000001 indicates that the targeted bit in the bit-band region is set to 1.
0x23FFFFE4
0x22000004
0x23FFFFE00x23FFFFE80x23FFFFEC0x23FFFFF00x23FFFFF40x23FFFFF80x23FFFFFC
0x220000000x220000140x220000180x2200001C 0x220000080x22000010 0x2200000C
32MB Alias Region
0
7 0
07
0x200000000x200000010x200000020x20000003
6 5 4 3 2 1 07 6 5 4 3 2 1 7 6 5 4 3 2 1 07 6 5 4 3 2 1
07 6 5 4 3 2 1 6 5 4 3 2 107 6 5 4 3 2 1 07 6 5 4 3 2 1
0x200FFFFC0x200FFFFD0x200FFFFE0x200FFFFF
1MB SRAM Bit-band Region