CSAT600 command list

For Arm Development Studio 2019.0, the following commands listed on this page are available for the CSAT600 tool. Additional commands will be available in future Arm Development Studio releases. You should be aware that:

  • Most commands have a command alias that is used to execute the same operation. Any command aliases are in () beside the full command name.
  • In the command's Example section, "..." denotes that executing the command provides further output. The further output is not shown in this user guide.

  • autodetect (auto)

    Autodetect which CoreSight devices are present on the target.

    To run this command, you must have a debug probe connection. See the instructions at connect (con) for details on how to connect to your debug probe.

    Syntax

    autodetect (auto) [enum-aps] [read-rom]

    Where:

    enum-aps

    Enumerates the autodetected Access Ports (APs).

    read-rom

    Returns the contents of the read ROM table.

    Example

    %> autodetect
    Detecting platform...
    ------------+--------------------------------+---------
     Device No. | DTSL Device Name (& Address)   | AP No.
    ------------+--------------------------------+---------
              0 |                      ARMCS-DP  |
    %> auto enum-aps
    Detecting platform...
    ------------+--------------------------------+---------
     Device No. | DTSL Device Name (& Address)   | AP No.
    ------------+--------------------------------+---------
              0 |                      ARMCS-DP  |
              1 |         CSMEMAP_0 (0x00000000) | 0
              2 |         CSMEMAP_1 (0x00000000) | 1
    %> autodetect read-rom Detecting platform... ------------+--------------------------------+---------  Device No. | DTSL Device Name (& Address)   | AP No. ------------+--------------------------------+---------           0 |                      ARMCS-DP  |           1 |         CSMEMAP_0 (0x00000000) | 0           2 |      Cortex-A53_0 (0x80410000) | 0 
    ...
  • cfgbox (cfb)

    Get or set the debug probe configuration.

    To run this command, you must have a debug probe connection. See the instructions at connect (con) for details on how to connect to your debug probe.

    Syntax

    cfgbox (cfb) [<item_name> [<item_value>]]

    Where:

    item_name

    Debug probe configuration item to be configured.

    item_value

    Value to set the debug probe configuration item to.

    Example

    %> cfgbox
    Linked_SRST_TRST     : 0
    SRSTOnConnect        : 0
    UserOutputPin  s     : 000000
    UseDeprecatedSWJ     : 0
    ...
    %> cfb Linked_SRST_TRST Linked_SRST_TRST: 0 Description: Set TRUE if the target hardware has these two signals physically linked. Type: Boolean Default Value: 0 Minimum Value: 0 Maximum Value: 1 Enum Values: 0 - False, 1 - True Access: Read-Write   %> cfb Linked_SRST_TRST 1 Config item Linked_SRST_TRST was set to 1
  • cfgtplate (cfg)

    Get or set debug probe configuration items for the current CoreSight device.

    To run this command, you must have both an active debug probe connection, and an active CoreSight device connection. See the instructions at connect (con) for details on how to connect to your debug probe. See the instructions at devopen (dvo, device) for details on how to connect to a Coresight device.

    Syntax

    cfgtplate (cfg) [<item_name> [<item_value>]]

    Where:

    item_name

    Debug probe configuration item to be configured.

    item_value

    Value to set the debug probe configuration item to.

    Example

    %> cfgtplate
    CTI_SYNCH_START      : Boolean : 0
    ALLOW_EXECUTION_WITHOUT_T_BIT : Boolean : 0
    POST_RESET_STATE     : Enum    : 1
    CORESIGHT_DP_MEMSPACE : Boolean : 0
    ...
    
    %> cfg POST_RESET_STATE
    POST_RESET_STATE: 1
    Description: Determines if the core should halt or run after reset
    Type: Enum
    Default Value: 1
    Minimum Value: 0
    Maximum Value: 1
    Enum Values: 0 - Running, 1 - Stopped
    Access: Read-Write
    
    %> cfg POST_RESET_STATE 1
    Config item POST_RESET_STATE was set to 1
  • chain (chn)

    Set or autodetect the JTAG scan chain and clock frequency.

    To run this command, you must have a debug probe connection. See the instructions at connect (con) for details on how to connect to your debug probe.

    Syntax

    chain (chn) [dev=device_name1,...,device_nameN | dev=auto] [clk=<freqHz> | clk=A]

    Where:

    dev

    Use this to specify one or more devices on the JTAG scan chain. Alternatively, set to auto to autodetect all of the devices on the JTAG scan chain.

    clk

    Value to set the debug adapter clock frequency to in Hz or A to use adaptive clocking.

    Example

    %> chain dev=ARMCS-DP
    ------------+--------------------------------+---------
     Device No. | DTSL Device Name (& Address)   | AP No.
    ------------+--------------------------------+---------
              0 |                      ARMCS-DP  |
    %> chn dev=ARMCS-DP clk=10000000
    ------------+--------------------------------+---------
     Device No. | DTSL Device Name (& Address)   | AP No.
    ------------+--------------------------------+---------
              0 |                      ARMCS-DP  |
    %> chain dev=auto
    Detecting scanchain...
    ------------+--------------------------------+---------
     Device No. | DTSL Device Name (& Address)   | AP No.
    ------------+--------------------------------+---------
              0 |                      ARMCS-DP  |
  • connect (con)

    Connect to a probe via TCP or USB.

    It is possible to connect to a probe without specifying an address (TCP or USB option). This is relevant to additional probes where the connection address is specified in RDDI library file and the capability "ConnectionAddressRequired" is set to False in the probe definition file. See the instructions at loadprobes(load) for the details on how to load additional probes. See the instructions at listprobes (probes) for details on how to list available probes.

    Syntax

    connect (con) [<probe type>:]TCP:<hostname> | TCP:<ip address> | USB [config file]

    Where:

    probe type

    Specify the probe type you wish to connect to or use to change the current probe type. To change the probe type, place the probe type in front of the TCP or USB option.  See the instructions at loadprobes (load) and listprobes (probes) for the details on how to load and list additional available probes respectively.

    TCP

    Use this option if you are connecting to your debug probe using an Ethernet connection. You must specify either the hostname or the IP address.

    USB

    Use this option if you are connecting to your debug probe through USB.

    config file

    Specify the System Description File (SDF) from a platform configuration used when connecting to the target. If an SDF is not supplied, you must run a CoreSight device discovery command. See instructions at autodetect (auto) or chain (chn) for details on discovering CoreSight devices.

     Example

    %> connect TCP:255.255.255.255
    Connecting to TCP:255.255.255.255 ...
    Connected to: DSTREAM
    Base H/W: V2 Rev C-00
    TurboTAP Rev: 0.16
    DSTREAM Probe V1 Rev B-00
    Firmware: 5.4.0, Build 5
    Configuration file: C:\Users\<user>\AppData\Local\Temp\csat_scanchain_devices5451335090165749803.sdf
    %> con USB
    Connecting to USB ...
    Connected to: DSTREAM
    Base H/W: V2 Rev C-00
    TurboTAP Rev: 0.16
    DSTREAM Probe V1 Rev B-00
    Firmware: 5.4.0, Build 5
    Configuration file: C:\Users\<user>\AppData\Local\Temp\csat_scanchain_devices713844846634569063.sdf
    %> con TCP:myDSTREAM C:\work\target.sdf Connecting to TCP:myDSTREAM ... Connected to: DSTREAM Base H/W: V2 Rev C-00 TurboTAP Rev: 0.16 DSTREAM Probe V1 Rev B-00 Firmware: 5.4.0, Build 5 Configuration file: C:\work\target.sdf
    %> connect DSTREAM-ST:TCP:myDSTREAM-ST Probe type was set to DSTREAM-ST. Connecting to TCP:myDSTREAM-ST ... Connected to: DSTREAM-ST Base H/W: V2 Rev A-06 FPGA build 0x0014, Debug 1V8, Trace 1V8 Firmware: 5.4.0, Build 5 Configuration file: C:\Users\<user>\AppData\Local\Temp\csat_scanchain_devices713844846634569063.sdf

     

  • devclose (dvc)

    Close the connection to the CoreSight device.

    To run this command, you must have both an active debug probe connection, and an active CoreSight device connection. See the instructions at connect (con) for details on how to connect to your debug probe. See the instructions at devopen (dvo, device) for details on how to connect to a Coresight device.

    Syntax

    devclose (dvc) [<device no>]

    Where:

    device no

    CoreSight device number to close the connection to. Use the autodetect (auto), chain (chn), or list (l) commands to determine the device number.

    Example

    %> devclose
    Disconnected from device no. 2
    %> dvc 2
    Disconnected from device no. 2
  • devopen (dvo, device)

    Open a connection to a CoreSight device.

    To run this command, you must have a debug probe connection with an SDF or a debug probe connection and have discovered CoreSight devices. See the instructions at connect (con) for details on how to connect to your debug probe. See the instructions at autodetect (auto) or chain (chn) for details on discovering CoreSight devices.

    Syntax

    devopen (dvo, device) <device no>

    Where:

    device no

    CoreSight device number to open a connection to. Use the autodetect (auto), chain (chn), or list (l) commands to determine the device number.

    Example

    %> devopen 2
    Connected to device no. 2: Cortex-A53_0, JTAG ID: 0x1ba06477, version 0x00000006
    Msg returned from device: Cortex-A53 Template
    %> dvo 0 Connected to device no. 0: ARMCS-DP, JTAG ID: 0x1ba06477, version 0x00000006 Msg returned from device: ARM-DP Template using Rv-Msg.
    %> device 2 Connected to device no. 2: Cortex-M3, JTAG ID: 0x3ba00477, version 0x00000006 Msg returned from device: Cortex M3 template
  • disconnect (dcn)

    Disconnect from the debug probe.

    To run this command, you must have a debug probe connection. See the instructions at connect (con) for details on how to connect to your debug probe.

    Syntax

    disconnect (dcn)

    Example

    %> disconnect
    Disconnected from TCP:255.255.255.255
    %> dcn Disconnected from USB
  • dpregread (drr)

    Read a register from a DP, AP, or other device.

    To run this command, you must have a debug probe connection with an SDF or a debug probe connection and have discovered CoreSight devices. See the instructions at connect (con) for details on how to connect to your debug probe. See the instructions at autodetect (auto) or chain (chn) for details on discovering CoreSight devices.

    Syntax

    dpregread (drr) [<device>.]<id>

    Where:

    device

    Specify an offset for the currently connected device or override the currently connected device and specify the device explicitly. Optionally, device can specify one of the following:

    • A device number as displayed by the list (l) command.
    • The device name from the device list.
    • The number of a memory access port.
    • Just DP for a Debug Port.
    Note: If the target contains multiple Debug Ports (DPs), the DP alias cannot be used and the device number must be used instead.

     

    id

    Either specify a textual alias for AP or DP registers as specified by the Arm CoreSight System-on-Chip SoC-600 Technical Reference Manual or a raw CoreSight register identifier (ID). This ID is the offset specified in the TRM for the CoreSight device divided by 4.

    Example

    %> dpregread AP0.CSW
    Device no. 2 is active.
    Reading from device no. 2: CSMEMAP
    AP0:0x340 : 0x03000052
    %> dpregread CSMEMAP.CSW Device no. 2 is active. Reading from device no. 2: CSMEMAP CSMEMAP:0x340 : 0x03000052
    %> dpregread DP.DPIDR Device no. 1 is active. Reading from device no. 1: ARMCS-DP DP:0x2080 : 0x00000000
    %> dpregread device2.TAR Device no. 2 is active. Reading from device no. 2: CSMEMAP device2:0x341 : 0x77441100
    %> dpregread device2.0x340 Device no. 2 is active. Reading from device no. 2: CSMEMAP device2:0x340 : 0x03000052
    %> drr TAR Reading from device no. 2: CSMEMAP device2:0x341 : 0x77441100
  • dpregwrite (drw)

    Write a register from a DP, AP, or other device.

    To run this command, you must have a debug probe connection with an SDF or a debug probe connection and have discovered CoreSight devices. See the instructions at connect (con) for details on how to connect to your debug probe. See the instructions at autodetect (auto) or chain (chn) for details on discovering CoreSight devices.

    Syntax

    dpregwrite (drw) [<device>.]<id> <value>

    Where:

    device

    Specify an offset for the currently connected device or override the currently connected device and specify the device explicitly. Optionally, device can specify one of the following:

    • A device number as displayed by the list (l) command.
    • The device name from the device list.
    • The number of a memory access port.
    • Just DP for a Debug Port.

    Note: If the target contains multiple Debug Ports (DPs), the DP alias cannot be used and the device number must be used instead.

    id

    Either specify a textual alias for AP or DP registers as specified by the Arm CoreSight System-on-Chip SoC-600 Technical Reference Manual or a raw CoreSight register identifier (ID). This ID is the offset specified in the TRM for the CoreSight device divided by 4.

    value

    32 bit number value to write to the specified register.

    Example

    %> dpregwrite AP0.TAR 0xEFC4AFC0
    Device no. 1 is active.
    Writing to device no. 1: CSMEMAP_0
    %> dpregwrite device44.TAR 256 Device no. 44 is active. Writing to device no. 44: CSMEMAP_2
    %> drw device44.0x341 0xF00F Device no. 44 is active. Writing to device no. 44: CSMEMAP_2
  • exit (x)

    Close the CSAT600 program.

    Syntax

    exit (x)

    Example

    %> exit
    Disconnected from TCP:255.255.255.255
    %> x Disconnected from TCP:255.255.255.255
  • help (h)

    List all the available CSAT600 commands, or display the help information for a specific command.

    Syntax

    help (h) <command>

    Where:

    command

    Command name to display help content for.

    Example

    %> help
    autodetect (auto)        : Autodetect which CoreSight devices are present on the target.
    cfgbox     (cfb)         : Configure the DSTREAM probe.
    cfgtplate  (cfg)         : Get or set DSTREAM configuration items for the current CoreSight device.
    ...
    %> h autodetect
    Command: autodetect
            Autodetect which CoreSight devices are present on the target.
    Aliases:
            auto
    Usage:
            autodetect [enum-aps] [read-rom]
            auto [enum-aps] [read-rom]
  • list (l)

    List the available CoreSight devices.

    To run this command, you must have a debug probe connection with an SDF or a debug probe connection and have discovered CoreSight devices. See the instructions at connect (con) for details on how to connect to your debug probe. See the instructions at autodetect (auto) or chain (chn) for details on discovering CoreSight devices.

    Syntax

    list (l)

    Example

    %> list
    ------------+--------------------------------+---------
     Device No. | DTSL Device Name (& Address)   | AP No.
    ------------+--------------------------------+---------
              0 |                      ARMCS-DP  |
              1 |         CSMEMAP_0 (0x00000000) | 0
              2 |      Cortex-A53_0 (0x80410000) | 0
              3 |           CSCTI_0 (0x80420000) | 0
    ...
  • listprobes (probes)

    List available probe types.

    Run this command to list built-in and additional probes supported by CSAT600. See the instructions at loadprobes (load) for the details on how to load additional probes.
    Note: The current probe is marked with '*'.

    Syntax

    listprobes (probes)

    Example

    %> listprobes
    * DSTREAM         built-in
       DSTREAM-HT      built-in
       DSTREAM-PT      built-in
       DSTREAM-ST      built-in
       MyProbe         from c:\work\probes.xml
       RealView ICE    built-in
  • loadprobes (load)

    Load an additional probe from a probe definition file.

    To run this command, you must have a probe vendor provided probe definition file and RDDI library file. A probe definition file is an XML file which defines the probe name and RDDI library file. The XML file might also contain configuration items and capabilities. The RDDI library file might be provided in both Windows and Linux variants.

    Syntax

    loadprobes (load) <xml file>

    Where:

    xml file

    Path to the probe definition XML file.

    Example

    %> loadprobes c:\work\probes.xml
    Parsing file c:\work\probes.xml...
    Probe MyProbe was loaded.
  • log

    Control logging.

    Syntax

    log on | off | <filename>

    Where:

    on

    Turns on logging.

    off

    Turns off logging.

    filename

    Path and filename to save the logging to.

    Example

    %> log on
    Logging is enabled with logfile: C:\Users\<user>\AppData\Local\Temp\csat7441679604713525243.log
    %> log on C:\Users\<user>\AppData\Local\Temp\csat.log Logging is enabled with logfile: C:\Users\<user>\AppData\Local\Temp\csat.log
    %> log off Logging is disabled.
  • memread (mr)

    Read memory from the specified address.

    To run this command, you must have a debug probe connection with an SDF or a debug probe connection and have discovered CoreSight devices. See the instructions at connect (con) for details on how to connect to your debug probe. See the instructions at autodetect (auto) or chain (chn) for details on discovering CoreSight devices.

    Syntax

    memread (mr) <address> <number of words to read> [rule=<memory operation modifiers>]

    Where:

    address

    Address to read from.

    number of words to read

    Number of words to read starting at the specified address. A word is 32 bits or 4 bytes.

    rule

    Used to set the rule parameter of a memory access operation. The rule value varies depending on the DTSL device type being used and the associated debug probe functionality that uses it. This parameter is most useful for Memory Access Port (MEMAP) accesses where it can be used to modify specific parts of the AP’s CSW register. The rule parameter might have more specialist uses for some core device accesses in certain circumstances.

    For an AHB device, the rule field maps to the 5 bits of the HPROT field.

    For an AXI-AP device, the encoding of the rule field is more complex, and consists of:

    •   Mode (4 bits) << 0x10
    •   Domain (3 bits) << 0x8
    •   Ace bit << 0x7
    •   PROT (3 bits) << 0x4
    •   CACHE ( 4bits)

    See the Arm Debug Interface Architecture Specification ADIv6.0 for details of what effect these values have on the accesses using the above memory buses.

    Example

    %> memread 0x80540000 8
    Reading from device no. 1: CSMEMAP_0
    0x80540000 : 0x00000000
    0x80540004 : 0x00000000
    0x80540008 : 0x00000000
    0x8054000c : 0x00000003
    0x80540010 : 0x00000001
    0x80540014 : 0x00000000
    0x80540018 : 0x00000000
    0x8054001c : 0x00000000

    %> mr 0x80540000 8 rule=0
    Reading from device no. 1: CSMEMAP_0
    0x80540000 : 0x00000000
    0x80540004 : 0x00000000
    0x80540008 : 0x00000000
    0x8054000c : 0x00000003
    0x80540010 : 0x00000001
    0x80540014 : 0x00000000
    0x80540018 : 0x00000000
    0x8054001c : 0x00000000
  • memwrite (mw)

    Write memory to the specified address.

    To run this command, you must have a debug probe connection with a SDF or a debug probe connection and have discovered CoreSight devices. See connect (con) for details on how to connect to your debug probe. See autodetect (auto) or chain (chn) for details on discovering CoreSight devices.

    Syntax
    memwrite (mw) <address> <data>...[dataN]* [rule=<memory operation modifiers>]

    Where:

    address

    Address to write to.

    data...dataN

    Data to write starting at the specified address.

    rule

    Used to set the rule parameter of a memory access operation. The rule value varies depending on the DTSL device type that is being used and the associated debug probe functionality that uses it. This parameter is most useful for Memory Access Port (MEMAP) accesses where it can be used to modify specific parts of the CSW register of the AP. The rule parameter might have more specialist uses for some core device accesses in certain circumstances.

    For an AHB device, the rule field maps to the 5 bits of the HPROT field.

    For an AXI-AP device, the encoding of the rule field is more complex, and consists of:

    •   Mode (4 bits) << 0x10
    •   Domain (3 bits) << 0x8
    •   Ace bit << 0x7
    •   PROT (3 bits) << 0x4
    •   CACHE ( 4bits)

    See the Arm Debug Interface Architecture Specification ADIv6.0 for details of what effect these values have on the accesses using the above memory buses.

    Example

    %> memwrite 0x80540004 1
    Writing to device no. 1: CSMEMAP_0
    Wrote 4 bytes.
    %> mw 0x80540004 0 rule=0
    Writing to device no. 1: CSMEMAP_0
    Wrote 4 bytes.
  • setprobe (probe)

    Set the active probe type.

    To use this command for an additional probe, you must have loaded the additional probe's definition XML file. See loadprobes (load) for details on how to load an additional probe from a probe definition XML file.

    Note: By default, the active probe is set to DSTREAM. In order to connect to a different probe, the probe type must be changed accordingly using this command. See the instructions at listprobes (probes) for the details on how to list the available probe types.

    Syntax

    setprobe (probe) <probe type>

    Where:

    probe type

    Set the probe type to be used. Use the listprobes (probes) to view the available probe types.

    Example

    %> setprobe DSTREAM
    Probe type was set to DSTREAM.
    %> setprobe MyProbe Probe type was set to MyProbe.
  • unloadprobes (unload)

    Remove previously loaded additional probe from the probe definition file.

    To run this command, you must have loaded a probe vendor provided probe definition file and RDDI library file. See the instructions for loadprobes (load) for details on how to load additional probes. See the instructions at listprobes (probes) for the details on how to list the available probe types.

    Syntax

    unloadprobes (unload) <xml file>

    Where:

    xml file

    Path to the probe definition XML file.

    Example

    %> unloadprobes c:\work\probes.xml
    Probe MyProbe was unloaded.
Previous Next