beautypg.com

Zilog Z8F0130 User Manual

Page 100

background image

Using the Integrated Development Environment

UM013037-1212

76

Zilog Developer Studio II – Z8 Encore!
User Manual

This is the safest possible configuration in that using the large model avoids possible prob-
lems with running out of data space in the small model, and using dynamic frames avoids
potential problems with static frames due to the use of recursion or function pointers.
Also, because the optimizations are limited, you can proceed to debug your application
with ease. However, this configuration definitely produces larger code than other combi-
nations. Many users select this configuration initially when porting applications to Z8
Encore! so that they do not have to worry immediately about whether their projects can
meet the requirements for using the small model or static frames. Particularly large and
complex applications also often must use this configuration (perhaps deselecting the

Limit

Optimizations for Easier Debugging

checkbox for production builds).

Small and Debuggable

The Small and Debuggable configuration sets the following values for the individual
options:

Limit Optimizations for Easier Debugging

checkbox is selected; the memory

model is small; the frames are static. This is the same as the Smallest Possible configura-
tion, except that optimizations are reduced to allow easier debugging. The other caveats to
using the Smallest Possible configuration also apply to this configuration. If you can meet
the other restrictions required by the Smallest Possible configuration, you might find it
useful to work with this configuration when you are debugging the code and then switch to
the Smallest Possible configuration for a production build.

Smallest Possible

This configuration sets the following values for the individual options:

Limit Optimiza-

tions for Easier Debugging

checkbox is deselected; the memory model is small; the

frames are static. This configuration generates the smallest possible code size, but this
configuration does not work for every project. It is your responsibility to make sure these
settings will work for you.

There are three issues to be aware of. First, all optimizations are applied, which can make
debugging somewhat confusing; if this becomes troublesome, try changing to the Small
But Debuggable configuration. Second, the use of the small model restricts the amount of
data space that is available, which could cause problems; see the

Memory Models

section

on page 199 for details. Third, static frames can only be used if your entire application
obeys certain restrictions, which are described in the

Call Frames

section on page 200.

User Defined

When the User Defined configuration is selected, the individual settings for the Limit
Optimizations for Easier Debugging, Memory Model, and Frames options can be changed
individually. This gives you the maximum freedom to set up your project as you choose
and to experiment with all possible settings.