1.3.1 About the CADI classes used to connect to a simulation

This section describes the interface class, the CADIBroker class, CADISimulation class, and the CADISimulationCallback and CADIErrorCallback callback classes.

Figure 1-2 Relationship between CADI interface classes used to connect to a target
To view this graphic, your browser must support the SVG format. Either install a browser with native support, or install an appropriate plugin such as Adobe SVG Viewer.


Each interface class is derived from CAInterface to enable compatibility checks and the extension mechanism.

The CADIBroker class manages the connection to a CADI simulation and consequently to a target. It provides a CADI simulation by either:

  • Returning an existing simulation that can be connected to. A CADISimulation object is directly returned.
  • Obtaining a CADI simulation factory that instantiates a CADI simulation. A pointer a CADISimulationFactory object is selected and obtained. If a CADI factory creates a simulation, it transfers the pointer to the new simulation to the broker

The CADISimulation class interacts with the CADISimulationCallback and CADIErrorCallback callback classes. An object of each of these classes must be registered to it. Pointers to the callback objects are forwarded to the simulation and used for asynchronous communication between the target and debugger.

It is necessary to unregister the callback before ending the simulation. This avoids problems that might result from disconnecting from a simulation without shutting it down.

Non-ConfidentialPDF file icon PDF version100963_0200_03_en
Copyright © 2014–2018 Arm Limited or its affiliates. All rights reserved.