SourcePoint Intel Help

Table of Contents

devicelist

Display names and other device information of currently attached or configured devices.

Syntax

devicelist

[result =] devicelist[expr]

[result =] devicelist[expr].fieldname

Where:

expr

is an expression evaluating to an ordinal value specifying the device ID (DID)ย  (may also be a device alias; brackets are required punctuation).

fieldnameย 

is the specific devicelist field to be returned (see table below for details).

result

specifies a debug variable to which the function return value is assigned. If result is not specified, the return value is displayed on the next line of the screen.

Discussion

The devicelist command displays a summary of the current configuration of all the devices that are known to SourcePoint.ย  Devices are listed in order by DID.

If a device ID (DID) is specified for expr, the devicelist command will only display data for the specified DID.

Use the devicelist[expr].<fieldname> commands to display or retrieve individual fields of the devicelist data described in the table below.

Fieldname

Description

Data Type

debugport

debug port

Ordinal

cp

chain position

Ordinal

did

device id

Ordinal

tapport

Tap port id

Ordinal

scanchain

scan chain

Ordinal

threadid

thread/core ID of this device

Ordinal

device

device name

String

alias

alias for this device

String

idcode

idcode for JTAG device only

Ordinal

stepping

device stepping

String

devicetype

device type

String

isenabled

thread/device's enabled status

Boolean

bustype

bus type used by the device

String

ย 

Each JTAG device has an associated idcode value, from which a stepping number (stepping) and device type (type) are derived. For devices that contain multiple threads or cores, each thread or core will be listed as a separate device with a zero-based thread/core ID distinguishing them. If a thread/core device can be disabled, the Enabled column will show its current state; otherwise it will always be enabled.

For all non-JTAG devices, Tap Port ID (TP), Scan Chain (SC), Stepping (Step), Idcode, and Thread/Core ID (T/C) of each device are not applicable so they are not displayed. Attempting to access these fields using fieldname will cause an error.

Example 1

To display output of devicelist for a two debug port (DP) target system with two physical processors, each with two enabled threads, note that the Device ID (DID) value is always displayed as hexadecimal regardless of the base control variable setting:

Command input:

devicelist

Result:

DIDย  DP ย TP ย SC ย Aliasย ย  Typeย ย ย  Stepย  ย Idcode ย ย ย BusTypeย  T/C ย Enabled

-----------------------------------------------------------------------

ย 0ย ย  0ย  ย 0ย  ย 0ย  ย ย P0ย ย  ย  YONAHย ย  ย A0ย ย  0005d013 ย ย ย JTAGย ย  ย ย 0ย  ย ย ย Yes

ย 1ย  ย 0ย  ย 0ย  ย 0ย  ย ย P1ย ย ย ย ย YONAHย  ย ย A0ย ย  0005d013 ย ย ย JTAGย ย ย  ย 1ย ย  ย ย Yes

ย 2ย ย  0ย  ย 1ย  ย 1ย  ย ย P2ย ย  ย  YONAH ย ย ย A0ย  ย 0005d013 ย ย ย JTAGย ย  ย  0ย ย  ย ย Yes

ย 3ย ย  0ย  ย 1ย  ย 1ย  ย ย P3ย ย ย ย  YONAHย ย ย  A0ย  ย 0005D013 ย ย ย JTAGย ย  ย ย 1ย ย  ย ย Yes

Example 2

To display devicelist data for a single device:

Command input :

devicelist[P2]

Result:

DIDย  DP ย TP ย SC ย Aliasย ย  Typeย ย ย  Stepย  ย Idcode ย ย ย BusTypeย  T/C ย Enabled

-----------------------------------------------------------------------

ย 2ย ย  0ย ย  1ย ย  1ย ย  ย P2ย  ย ย  YONAHย ย ย  A0ย ย  0005D013 ย ย ย JTAGย ย  ย  0ย ย  ย ย Yes

Example 3

To display the idcode of a single device: ย 

Command input:

devicelist[P2].idcode

Result:

08303013H

Example 4

To get the idcode of a single device and assign it to a debug variable:

Command input:

define ord4 o4MyIdCode

o4MyIdCode = devicelist[P2].idcode

o4MyIdCode

Result:

0005D013H

Example 5

To display just the aliases of all JTAG devices:

Command input:

define ord4 o4ID

for (o4ID = first_jtag_device; o4ID < num_jtag_devices; o4ID++)

{

ย  devicelist[o4ID].alias

}

Result:

P0

P1

P2

P3

Example 6

To create a custom-format devicelist command:

Command input:

define proc devlist()

{

ย  define ord4 o4ID

ย  for (o4ID=first_jtag_device; o4ID < num_jtag_devices; 04ID++)

ย  {

ย ย ย  printf("%2x %8s (%-11s) port %d\n",

ย ย ย ย ย  devicelist[o4ID].did,

ย ย ย ย ย  devicelist[o4ID].alias,

ย ย ย  ย ย devicelist[o4ID].devicetype,

ย ย ย ย ย  devicelist[o4ID].debugport)

ย  }

}

devlist

Result:

ย 0ย ย ย  P0 (YONAHย ย ย ย ย  ) port 0

ย 1ย ย ย  P1 (YONAHย ย ย ย ย  ) port 0

ย 2ย ย ย  P2 (YONAHย ย ย ย ย  ) port 0

ย 3ย ย ย  P3 (YONAHย ย ย ย ย  ) port 0

Related Topics

ย