SAM4CM Series [DATASHEET]
Atmel-11203C-ATARM-SAM4CM32-SAM4CM16-SAM4CM8-Datasheet_06-Oct-14
76
Notes:
1. A word access to the SRAM or peripheral bit-band alias regions map to a single bit in the SRAM or peripheral bit-band
region.
2. 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_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.
Figure 12-4
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 12-4.
Bit-band Mapping
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.
Table 12-7.
Peripheral Memory Bit-banding Regions (Continued)
Address Range
Memory Region
Instruction and Data Accesses
0x23FFFFE4
0x22000004
0x23FFFFE0
0x23FFFFE8
0x23FFFFEC
0x23FFFFF0
0x23FFFFF4
0x23FFFFF8
0x23FFFFFC
0x22000000
0x22000014
0x22000018
0x2200001C
0x22000008
0x22000010
0x2200000C
32 MB alias region
0
7
0
0
7
0x20000000
0x20000001
0x20000002
0x20000003
6
5
4
3
2
1
0
7
6
5
4
3
2
1
7
6
5
4
3
2
1
0
7
6
5
4
3
2
1
0
7
6
5
4
3
2
1
6
5
4
3
2
1
0
7
6
5
4
3
2
1
0
7
6
5
4
3
2
1
0x200FFFFC
0x200FFFFD
0x200FFFFE
0x200FFFFF
1 MB SRAM bit-band region