C8051F120/1/2/3/4/5/6/7
Rev. 1.2
125
12.2. Memory Organization
The memory organization of the CIP-51 System Controller is similar to that of a standard 8051. There are two sepa-
rate memory spaces: program memory and data memory. Program and data memory share the same address space but
are accessed via different instruction types. There are 256 bytes of internal data memory and 128k bytes of internal
program memory address space implemented within the CIP-51. The CIP-51 memory organization is shown in
Figure 12.2.
12.2.1. Program Memory
The CIP-51 has a 128k byte program memory space. The MCU implements 131072 bytes of this program memory
space as in-system re-programmable FLASH memory in four 32k byte code banks. A common code bank (Bank 0)
of 32k bytes is always accessible from addresses 0x0000 to 0x7FFF. The three upper code banks (Bank 1, Bank 2,
and Bank 3) are each mapped to addresses 0x8000 to 0xFFFF, depending on the selection of bits in the PSBANK reg-
ister, as described in Figure 12.3. The IFBANK bits select which of the upper banks are used for code execution,
while the COBANK bits select the bank to be used for direct writes and reads of the FLASH memory. Note: 1024
bytes of the memory in Bank 3 (0x1FC00 to 0x1FFFF) are reserved and are not available for user program or data
storage.
Program memory is normally assumed to be read-only. However, the CIP-51 can write to program memory by setting
the Program Store Write Enable bit (PSCTL.0) and using the MOVX instruction. This feature provides a mechanism
for the CIP-51 to update program code and use the program memory space for non-volatile data storage. Refer to
Sec-
tion “16. FLASH MEMORY” on page 185
for further details.
PROGRAM/DATA MEMORY
(FLASH)
(Direct and Indirect
Addressing)
0x00
0x7F
Upper 128 RAM
(Indirect Addressing
Only)
0x80
0xFF
DATA MEMORY (RAM)
General Purpose
Registers
0x1F
0x20
0x2F
Bit Addressable
0x30
INTERNAL DATA ADDRESS SPACE
EXTERNAL DATA ADDRESS SPACE
XRAM - 8192 Bytes
(accessable using MOVX
instruction)
0x0000
0x1FFF
Off-chip XRAM space
0x2000
0xFFFF
FLASH
(In-System
Programmable in 1024
Byte Sectors)
0x00000
0x1FFFF
RESERVED
0x1FC00
0x1FBFF
Scrachpad Memory
(DATA only)
0x200FF
0x20000
Special Function
Registers
(Direct Addressing Only)
1
3
0
2
Lower 128 RAM
(Direct and Indirect
Addressing)
Up To
256 SFR Pages
Figure 12.2. Memory Map
Summary of Contents for C8051F120
Page 2: ...C8051F120 1 2 3 4 5 6 7 2 Rev 1 2 Notes ...
Page 8: ...C8051F120 1 2 3 4 5 6 7 8 Rev 1 2 26 2 Flash Programming Commands 318 26 3 Debug Support 321 ...
Page 16: ...C8051F120 1 2 3 4 5 6 7 16 Rev 1 2 Notes ...
Page 48: ...C8051F120 1 2 3 4 5 6 7 48 Rev 1 2 ...
Page 98: ...C8051F120 1 2 3 4 5 6 7 98 Rev 1 2 ...
Page 106: ...C8051F120 1 2 3 4 5 6 7 106 Rev 1 2 Notes ...
Page 183: ...C8051F120 1 2 3 4 5 6 7 Rev 1 2 183 Notes ...
Page 184: ...C8051F120 1 2 3 4 5 6 7 184 Rev 1 2 ...
Page 214: ...C8051F120 1 2 3 4 5 6 7 214 Rev 1 2 Notes ...