Datasheet
24
6289CS–ATARM–28-May-09
AT91SAM9R64/RL64
• Internal SRAM B is the ARM926EJ-S Data TCM. The user can map this SRAM block
anywhere in the ARM926 data memory space using CP15 instructions. This SRAM block is
also accessible by the ARM926 Data Master and by the AHB Masters through the AHB bus
at address 0x0020 0000.
• Internal SRAM C is only accessible by all the AHB Masters. After reset and until the Remap
Command is performed, this SRAM block is accessible through the AHB bus at address
0x0030 0000 by all the AHB Masters. After Remap, this SRAM block also becomes
accessible through the AHB bus at address 0x0 by the ARM926 Instruction and the ARM926
Data Masters.
Within the 64Kbyte SRAM size available, the amount of memory assigned to each block is soft-
ware programmable as a multiple of 16K Bytes according to Table 8-2. This Table provides the
size of the Internal SRAM C according to the size of the Internal SRAM A and the Internal SRAM
B.
At reset, the whole memory is assigned to Internal SRAM C.
The memory blocks assigned to SRAM A, SRAM B and SRAM C areas are not contiguous and
when the user dynamically changes the Internal SRAM configuration, the new 16-Kbyte block
organization may affect the previous configuration from a software point of view.
Table 8-3 illustrates different configurations and the related 16-Kbyte blocks (RB0 to RB3)
assignments.
Note: 1. Configuration after reset.
Table 8-2. Internal SRAM Block Size
Remaining Internal SRAM C
Internal SRAM A (ITCM) Size
0 16K Bytes 32K Bytes
Internal SRAM B (DTCM) size
0
64K Bytes 48K Bytes 32K Bytes
16K Bytes
48K Bytes 32K Bytes 16K Bytes
32K Bytes
32K Bytes 16K Bytes 0K Bytes
Table 8-3. 16-Kbyte Block Allocation example
Decoded
Area
Address
Configuration examples and related 16-Kbyte block assignments
I = 0K
D = 0K
A = 64K
(1)
I = 16K
D = 0K
A = 48K
I =32K
D = 0K
A = 32K
I = 0K
D = 16K
A = 48K
I = 16K
D = 16K
A = 32K
I = 32K
D = 16K
A = 16K
I = 0K
D = 32K
A = 32K
I = 16K
D = 32K
A = 16K
I = 32K
D = 32K
A = 0K
Internal
SRAM A
(ITCM)
0x0010 0000 RB1 RB1 RB1 RB1 RB1 RB1
0x0010 4000 RB0 RB0 RB0
Internal
SRAM B
(DTCM)
0x0020 0000 RB3 RB3 RB3 RB3 RB3 RB3
0x0020 4000 RB2 RB2 RB2
Internal
SRAM C
(AHB)
0x0030 0000 RB3 RB3 RB3 RB2 RB2 RB2 RB1 RB0
0x0030 4000 RB2 RB2 RB2 RB1 RB0 RB0
0x0030 8000 RB1 RB0 RB0
0x0030 C000 RB0