Datasheet
65
SAM4S [DATASHEET]
11100E–ATARM–24-Jul-13
Accesses to the 32 MB SRAM alias region map to the 1 MB SRAM bit-band region, as shown in Table 12-6.
Accesses to the 32 MB peripheral alias region map to the 1 MB peripheral bit-band region, as shown in Table 12-
7.
Notes: 1. A word access to the SRAM or peripheral bit-band alias regions map to a single bit in the SRAM or periph-
eral 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).
Table 12-6. 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 12-7. 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.