
UDI Developer’s Toolkit
Universal Debugger Interface Specification
6-11
The DFE must call
UDIWait
to ensure that execution actually takes place.
This is true not only after
UDIExecute
and
UDIStep
but also after
UDIGetStdout
or
UDIGetStderr
. On some TIPs, execution may actually
start before the call to
UDIWait
, but it is not required to.
The DFE must call
UDIWait
after
UDIStop
to ensure that execution has
really stopped.
The toolkit does not contain a test program that tests a DFE for UDI
compliance. You can, however, use the
isstip
(an Instruction Set Simulator
TIP which ships with AMD’s High C 29K product) to test your DFE’s
behavior.
isstip
is easy to use because it is self–contained and requires no real
target hardware. For further testing, the TIP from the MiniMON29K product,
montip
can be ordered from AMD.
If your DFE does not behave as expected when connected to any TIP, the
uditrace
tool can be used to show all the UDI and UDIDFE calls going back
and forth between the DFE and the TIP. The
uditrace
tool can also be useful
in pointing out inefficiencies, for example, a DFE that uses a separate UDI call
to read each register. See the
uditrace(1)
man page for instructions on how to
use
uditrace
.
Notes for TIP Developers
As of UDI 1.3, a TIP is both a UDI server (implementing UDI calls) and a UDI
client (making UDIDFE calls).
See page 3-1for a discussion of which of the UDI services a TIP is required to
implement.
The
uditest
tool can be used as a DFE to test your TIP. See the
uditest(1)
man
page for a description of how to run
uditest
. The
uditest
tool is mostly silent
unless it encounters an error. If
uditest
does report an error and the error
message does not fully explain the error, you should probably use the
uditrace
tool (placing
uditrace
between
uditest
and your TIP) to show exactly what
UDI call caused the problem. The
uditrace
tool can be used to diagnose the
traffic between any DFE and your TIP. See the
uditrace(1)
man page for
instructions on using
uditrace
.
The source code for
uditest
is also provided and can be used to more fully
understand the action that caused the error. If you have suggestions for further
tests that should be added to
uditest.c
, please send those suggestions via e–
mail to udi@amd.com.