3 MEMORY MAP, BUS CONTROL
3-4
Seiko Epson Corporation
S1C17554/564 TECHNICAL MANUAL
Internal RAM Area
3.3
Embedded RAM
3.3.1
The S1C17554/564 contains a RAM in the 16K-byte area from address 0x0 to address 0x3fff. The RAM allows
high-speed execution of the instruction codes copied into it as well as storing variables and other data.
Note: The 64-byte area at the end of the RAM (0x3fc0–0x3fff) is reserved for the on-chip debugger.
When using the debug functions under application development, do not access this area from the
application program.
This area can be used for applications of mass-produced devices that do not need debugging.
The S1C17554/564 enables the RAM size used to apply restrictions to 16KB, 12KB, 8KB, 4KB, 2KB, 1KB, or
512B. For example, when using the S1C17554/564 to develop an application for a built-in ROM model, you can set
the RAM size to match that of the target model, preventing creating programs that seek to access areas outside the
RAM areas of the target product. The RAM size is selected using IRAMSZ[2:0]/MISC_IRAMSZ register.
IRAM Size Register (MISC_IRAMSZ)
Register name Address
Bit
Name
Function
Setting
Init. R/W
Remarks
IRAM Size
Register
(MISC_IRAMSZ)
0x5326
(16 bits)
D15–9 –
reserved
–
0 when being read.
D8
DBADR
Debug base address select
1 0x0
0 0xfffc00
0
R/W
D7
–
reserved
–
0 when being read.
D6–4 IRAMACTSZ
[2:0]
IRAM actual size
0x6 (= 16KB)
0x6
R
D3
–
reserved
–
0 when being read.
D2–0 IRAMSZ[2:0] IRAM size select
IRAMSZ[2:0]
Size
0x6 R/W
0x7
0x6
0x5
0x4
0x3
0x2
0x1
0x0
reserved
16KB
512B
1KB
2KB
4KB
8KB
12KB
D[6:4]
IRAMACTSZ[2:0]: IRAM Actual Size Bits
Indicates the actual internal RAM size embedded. (Default: 0x6)
D[2:0]
IRAMSZ[2:0]: IRAM Size Select Bits
Selects the internal RAM size used.
3.1.1 Selecting Internal RAM Size
Table 3.
IRAMSZ[2:0]
Internal RAM size
0x7
Reserved
0x6
16KB
0x5
512B
0x4
1KB
0x3
2KB
0x2
4KB
0x1
8KB
0x0
12KB
(Default: 0x6)
Note: The MISC_IRAMSZ register is write-protected. The write-protection must be overridden by writing
0x96 to the MISC_PROT register. Note that the MISC_PROT register should normally be set to a
value other than 0x96, except when writing to the MISC_IRAMSZ register. Unnecessary programs
may result in system malfunctions.