|Non-Confidential||PDF version||ARM 100963_0200_00_en|
|Home > Introduction > Class hierarchy|
This section describes the CADI class interface.
CADIclass by using a monospace font for the
CADI. This component can be referred to as a CADI target.
Most of the CADI functionality is exposed through these classes:
CADI object handles the requests from
the outside world into the target.
The models implement
A pointer to the
CADI object can be obtained
GetTarget() method of the
CADICallbackObj handles the calls from the
target to the debugger to, for example, indicate state changes in the model.
The debugger must implement
objects. Register them with the target.
CADICallbackObj is also used for semihosting requests.
Instead of requiring the simulation of a full operating system,
CADI provides the option to forward the console operations from
the target to the host operating system.
You could poll the state of the target model each cycle through the regular
CADI interface. It is more efficient however to have the target use the
CADICallbackObj callbacks as required. Using callbacks eliminates
the large overhead that results from frequent polling calls.
The model can call the callback methods at any time during simulation. ARM recommends, however, that the callback handlers do as little processing as possible and, for example, only set flags for later processing. The debugger can do the remaining processing without delaying the simulation.
There are several conceptually distinct parts of the CADI interface:
These classes provide the mechanism for creating and running simulations:
The methods in this class provide the main interfaces for configuring and running the target. Use these methods to:
The methods in this callback class enable the target to communicate with the debugger and:
If the component supports disassembly, the disassembly interface can obtain the disassembly during a simulation.
The profiler class enables you to record and monitor profile information about the debugging session.