www.ti.com
3.7
Tightly Coupled Memory
Tightly Coupled Memory
The ARM926EJ-Shas a tightly coupled memory interface enabling separate instruction and data TCM to
be interfaced to the ARM. TCMs are meant for storing real-time and performance critical code.
DM355 supports both instruction TCM (I-TCM) and data TCM (D-TCM). The instruction TCM is located at
0x0000:0000 to 0x0000:7FFF. The data TCM is located at 0x0001:0000 to 0x0001:9FFF, as shown in
Table 3-3. ITCM/DTCM Memory Map
I-TCM Address
D-TCM Address
Size (Bytes)
Description
0x0000 :0000 - 0x0000 :3FFF
0x0001 :0000 - 0x0001 :3FFF
16K
IRAM0
0x0000 :4000 - 0x0000 :7FFF
0x0001 :4000 - 0x0001 :7FFF
16K
IRAM1
0x0000 :8000 - 0x0000 :9FFF
0x0001 :8000 - 0x0001 :9FFF
8K
ROM
0x0000 :A000 - 0x0000 :FFFF
0x0001 :A000 - 0x0001 :FFFF
24K
Reserved
The status of the TCM memory regions can be read from the TCM status register, which is CP15 register
0. The instruction for reading the TCM status is given below:
MRC p15, #0, Rd, c0, c0, #2
; read TCM status register
where Rd is any register where the status data is read into the register.
The format of the data in the TCM register is as shown below:
31
17
16
SBZ/UNP
DTCM
15
1
0
SBZ/UNP
ITCM
If the DTCM bit is 0, Data TCM is not present and if the DTCM bit is 1, Data TCM is present. If the ITCM
bit is 0, Instruction TCM is not present and if the ITCM bit is 1, Instruction TCM is present.
Use the ITCM / DTCM region registers to enable ITCM and DTCM.
The instructions for reading and writing to the ITCM and DTCM are shown below:
MRC p15, #0, Rd, c9, c0, #0
; read DTCM region register
MCR p15, #0, Rd, c9, c0, #0
; write DTCM region register
MRC p15, #0, Rd, c9, c0, #1
; read ITCM region register
MCR p15, #0, Rd, c9, c0, #1
; write ITCM region register
Where Rd is any register where the data is read or written into the register.
The format of the data in the TCM register is shown below:
31
16
ADDRESS
15
12
11
6
5
2
1
0
ADDRESS
SBZ/UNP
SIZE
0
ENB
ARM Core
26
SPRUFB3 – September 2007