beautypg.com

Program configurations, Default program configuration, Section on – Zilog ZUSBOPTS User Manual

Page 336: More information, see the

background image

Program Configurations

UM017105-0511

308

Zilog Developer Studio II – ZNEO™
User Manual

The ZDS II GUI assumes external I/O is located in the range

FF_C000H

to

FF_DFFFH

.

Any external I/O that is located elsewhere can be accessed using absolute addresses.
The debugger memory window displays all addresses below

FF_C000H

as part of the

Memory space, however.

Program Configurations

With the information given so far in this chapter as background, you are now ready to plan
the memory configuration for your own application. At this point, you should have deter-
mined what external memory, if any, is present on your target system, enabled and config-
ured its chip selects, and added its address space to the linker address ranges. For
information about these settings, see the

Project Settings—Debugger Page

section on

page 74 and the

Project Settings—Address Spaces Page

section on page 68.

Now it is necessary to implement your program’s memory configuration using the devel-
opment environment and tools. This section presents several examples of this process,
beginning with the default program configuration provided by the Zilog development
tools. For each configuration, there is a discussion of reasons to choose the configuration
and how to implement the configuration in both C and assembly language projects.

Two distinct features of a program configuration are how its code is downloaded and how
its initial values are copied. Downloading refers to what the development tools do when
they copy your compiled or assembled code and data from your host computer to the
ZNEO CPU’s internal or external memory in preparation for a debugging or test session.
The memory space (ZDS II address range) or spaces into which your program is down-
loaded depend on the memory model that best fits your application. You might also choose
to change those spaces as your application evolves from the early stages of development
closer to production.

The copying of initial values, on the other hand, is carried out by the start-up code in your
application. Usually, the start-up code copies values from nonvolatile memory to a loca-
tion in volatile memory where they are accessed in the main body of your program. In
addition to copying data that must have a specific value on program startup, the start-up
code can also set otherwise uninitialized values to zero (to conform with the C standard).
Unlike the downloading step, the copying step continues to occur in your production code,
typically when the end-user device is powered up or reset.

Default Program Configuration

The default program configuration provided by ZNEO development tools can be used for
production code as well as development. It is designed to provide a general case that meets
the needs of many users. In this configuration, your compiled or assembled program is all
downloaded to the ROM or EROM functional address spaces; see Figure 132.

This manual is related to the following products: