3.3.4. 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 CADIExecGetResetLevels() and CADIExecGetModes().

For a single program counter, the target features denotes its register ID and enables reading it without having to search for this ID.

Extended Target Features Register

An important target feature helping a debugger to adjust to the current target is the Extended Target Features Register. 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 the following:


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. See CADITargetFeatures_t structure for more information on these tokens.

Copyright © 2008-2014 ARM. All rights reserved.ARM DUI 0444M