circuitcellar.com
Magazine Support   Digital Library   Products & Services   Suppliers Directory 
 
 





 

Issue 155 June 2003
Encore!
Zilog's Z8 Flash Memory-Based Micro


ADDRESS SPACE

The eZ8 CPU can access three distinct address spaces: the Program memory (flash memory), the register file (RAM), and the data memory (ROM). The program memory contains addresses for all memory locations having executable code and data (i.e., up to 64 KB of flash memory). The register file contains addresses for the general-purpose registers (RAM) and the eZ8 CPU, peripheral, and general-purpose I/O port control registers (i.e., up to 4 KB). The data memory contains addresses for all memory locations that hold only data (i.e., up to 128 bytes).

PROGRAM SPACE

The eZ8 CPU supports 64 KB of program memory address space. Depend-ing on the device, the Z8 Encore! contains 16 to 64 KB of on-chip flash memory in the program memory address space. Reading from program memory addresses outside the available flash memory addresses returns FFH. Writing to these unimplemented program memory addresses produces no effect. Program memory begins at 0000H with the flash memory option bits, the interrupt vectors depicted in Table 1, and it extends upward to the extent of the individual device’s available flash memory. Flash memory option bits configure the watchdog timer and program space read protection.

REGISTER FILE

The register file address space is 4 KB (4096 bytes). The register file is composed of two sections: control registers and general-purpose registers. When instructions are executed, registers are read from when they’re defined as sources, and they’re written to when defined as destinations. The architecture of the eZ8 CPU allows all general-purpose registers to function as accumulators, address pointers, index registers, stack areas, or scratch-pad memory.

The upper 256 bytes of the 4-KB register file address space are reserved for controlling the eZ8 CPU, the on-chip peripherals, and the I/O ports. These registers are located at addresses between F00H and FFFH. Some of the addresses within the 256-byte Control register section are reserved (i.e., unavailable). Reading from a reserved register file address returns an undefined value. I don’t recommend writing to reserved register file addresses, because it can produce unpredictable results.

The on-chip RAM always begins at address 000H in the register file address space. Depending on the devices, the Z8 Encore! contains 2 to 4 KB of on-chip RAM. Reading from register file addresses outside the available RAM addresses (and not within in the control register address space) returns an undefined value. Writing to these register file addresses produces no effect.