
October 13 1995, Draft 1
397
Chapter 7 Software Debugging
7.9
Fusion3D TOOLS
Shortened development times and increased product complexity has
necessitated the use of powerful software development tools. Unfortunately
however, the higher processor speeds and on–chip integration provided by many of
the newer embedded RISC processors has led to an increased cost associated with
traditional debug tools such as In–Circuit Emulators (ICE). Additionally, the rapid
changes occurring in the embedded processor market and the frequent introduction
of processor variations has placed emphasis on the need for tool reusability.
Reusable and low cost tools have a broad appeal among software designers.
The term Fusion3D refers to a Distributed Design and Debug environment. The
purpose behind Fusion3D is to provide cost effective design and debug tool
alternatives selectable from a range of compatible products. This is achieved by
distributing the primary tool functions. For example, traditionally a full–function
ICE has been chosen as the primary debug tool. However, the overlay or substitute
target memory provided by an ICE is alternatively available with a ROM emulator;
the ICE’s tracing capability can be effectively achieved with a logic analyzer; and
controlling program execution can be accomplished with a debug monitor and
on–chip debug support hardware. The capabilities inherent in a full–function ICE are
distributed among the selected Fusion3D components. AMD has identified and
worked with key Fusion3D partners to bring together the necessary components of
the Fusion3D environment.
The Fusion3D approach is flexible. The scalable nature of Fusion3D enables the
software developer to construct a debug environment which is adequate for the task
to be undertaken, yet does not incur the high costs typically associated with a
full–function ICE. At a later stage, if a project requires an additional debug
capability, the chosen tool combination can be enhanced.
Many of the tools provided by the Fusion3D program are useable with any
member of the 29K family or other processor family such as the X86. This helps
reduce the cost associated with tooling–up for a new project. For example, the
HP16500B logic analyzer is widely used within the industry. Traditionally it has been
used by hardware development engineers. Extending its utility as a software
development tool, useable across a wide range of processors, is very cost effective.
7.9.1 NetROM ROM Emulator
A ROM emulator is used to replace a system’s ROM or SRAM type memory
devices with substitute memory. Typically, ROM devices are removed from socket
locations on the target system and a cable used to connect the ROM emulator to the
vacated sockets. The processor can read the emulated memory as if it were
real
ROM. Occasionally there may be differences in memory access times due to
different memory access wait states; but essentially the system runs as normal.