beautypg.com

Zilog Z8F0130 User Manual

Page 111

background image

UM013037-1212

Project Menu

Zilog Developer Studio II – Z8 Encore!

User Manual

87

Place Const Variables in ROM

In ZDS II releases before 4.10.0, an option was provided to place all variables that were
declared

const

in ROM memory (in other words, in the ROM address space; see the

Linker: Address Spaces Page

section on page 103). This option has now been deprecated.

The heart of the problem with this feature lies in the nature of Z8 Encore! as a Harvard
architecture, that is, one in which different address spaces are used for read-only memory
(used for items such as code and ROM data storage) and memory that is writable (used for
most data in the program). The ANSI Standard, and more fundamentally the design of the
C language, was written with the implicit assumption that only von Neumann architec-
tures (in which a single address space is used for all memory) will be considered. Harvard
architectures are, of course, quite common in embedded system processors to give better
performance within the constraints of the limited resources available to these processors.

In the Harvard architecture, pointers to the normal data space and pointers into ROM
space are generally required to be distinct types. In Z8 Encore! devices, this difference can

Figure 56. Deprecated Page of the Project Settings Dialog Box