|Home > Using the CADI Interface Methods from a Debugger > Target connection and configuration > CADI target characteristics|
This section describes CADI target characteristics.
The key characteristics for a CADI target are provided by its target features that are stored in an object of data type
CADITargetFeatures_t. The object can be acquired by the
CADIXfaceGetFeatures() method of the object.
CADITargetFeatures_t is closely related to
CADITargetInfo_t which can be retrieved by the
GetTargetInfos() method for a CADI simulation. The target info
provides an overview of the high-level capabilities for the target such as
parameterization or software execution capabilities. The target features, however, go
into more detail about a specific target and inform the debugger about target resources
required to configure a retargetable debugger.
The target features include:
These features can help the debugger to systematically read architectural details about
the target. The maximum number of returned descriptions (that is, the size of the
internal lists of the target) for the associated CADI methods are equal to the
corresponding number in the
CADITargetFeatures_t struct. For example,
the numbers of supported reset levels and execution modes must match the maximum number
of list elements returned by
For a single program counter, the target features denotes its register ID and enables reading it without having to search for this ID.
This is an important target feature for helping a debugger to adjust to the current target. After it is enabled by the corresponding flag, this string register can communicate additional features and characteristics of a target to the connected caller.
The Extended Target Features Register contains a string of tokens or arbitrary non-colon-ASCII characters separated by colons. Such a string might, for example, look like:
ARM recommends adding a colon at the end of the string, as shown.
The supported tokens and their semantics are implementation specific. CADI 2.0 and the Fast Models from ARM provide a predefined set of tokens that can be exposed by the target.