Dbgjtag

From Texas Instruments Wiki
Jump to: navigation, search

What is it?

dbgjtag is a command line tool designed to help debug connectivity problems with JTAG. It can be used for:

  • Debugging JTAG scan chain problems
  • Finding out how many JTAG TAPs are in your scan chain
  • Finding the length of the JTAG TAPs
  • Repetitively testing the scan chain with bit patterns to test the reliability of the scan chain.


Where can I get this utility?

  • dbgjtag is available in the below directories (depending on where CCS is installed):
    • C:\CCStudio_3.3\cc\bin directory (for CCSv3.3)
    • <CCS_INSTALL_DIR>\ccsv4\common\uscif (for CCSv4)
    • <CCS_INSTALL_DIR>/ccsv5/ccs_base/common/uscif (for CCSv5)
    • <CCS_INSTALL_DIR>/ccsv6/ccs_base/common/uscif (for CCSv6)
    • <UNIFLASH INSTALL DIR>/ccs_base/common/uscif (for UniFlash)


Where can I find the documentation on this utility?

  • The user's guide can be found here

For CCSv3.3 only: The help manual can also be viewed by typing "dbgjtag -H manual" in a DOS shell at the command prompt while in the C:\CCStudio_3.3\cc\bin directory.

What do I need to use this utility?

You need:

  • CCS installed (any version)
  • XDS100, XDS200, XDS510, and XDS560 debug probe installed. Note that some 3rd parties products may not work with dbgjtag such as Spectrum Digital. However, Spectrum Digital provides an excellent tool called "SDconfig" which helps perform similar functions.


How do I use it?

See Useful tests topic at the Debugging JTAG Connectivity Problems legacy page, as well as the help examples below:

For CCSv4 only: Some additional examples are available at the ccsv4\common\uscif directory.


  • Reset debug probe and do basic scan path length tests (measure IR and DR paths)
dbgjtag -f <board data file> -rv -Spathlength
  • Reset debug probe and perform basic scan tests
dbgjtag -f <board data file> -rv -Sgivendata,repeat=10
  • Reset debug probe and perform scan tests ad infinitum ad nauseum.
dbgjtag -f <board data file> -rv -Sgivendata,repeat=0


See the next section for instructions on how to find the board data file.

Locating the board data file

The board data file is created by the debugger when the debug session is initially launched or the Test Connection button is used. Depending on the version of CCS used, the file will be created in several places. Check the section below for a comprehensive list of file locations:

Location of files and utilities page


Where can I get help on its options?

  • You can get help for dbgjtag by typing "dbgjtag -h" to get a brief help.
C:\ti\ccsv6\ccs_base\common\uscif>dbgjtag -h

  The utility build date was 'Sep  4 2015'.
  The utility build time was '22:14:08'.
  The utility package version is '6.0.14.5'.
  The utility component version is '35.35.0.0'.

  The brief help for each major option is its help command, [-X help].

  The [-X], [-f], [-d] and [-p] options are for emulator selection.
  The [-Y], [-r], [-s] and [-v] options are for emulator configuration.

  The [-S] option is for scan-path data and instruction tests.
  The [-R] option is for scan-path route and matrix tests.
  The [-F] option is for scan-path frequency selection.
  The [-G] option is for scan-path frequency testing.
  The [-A] option is for scan-path device analysis.
  The [-T] option is for emulator tests.
  The [-U] option is for cable and pod tests.
  The [-D] option is for formatting and loading FPGA data.
  The [-B] option is for board config file tests.
  The [-V] option is for config variable information.
  The [-E] option is for interpreting error numbers.
  The [-M] option is for miscellaneous stuff.


  • For a specific option, you can ask for help such as "dbgjtag -S help" to get additional help on a particular option.
C:\ti\ccsv6\ccs_base\common\uscif>dbgjtag -S help

  The '-S' major option supports scan-path data and instruction tests

  This option has a sub-argument that is a comma separated list
  of a command and zero or more parameters. The parameters consist
  of 'name=value' pairs that may be listed in any order.

  -S help
     Print this brief help.

  -S pathlength,bits=number,irsize=number,drsize=number,
                ignore=boolean,analyse=boolean
     Measure the length of the DR/IR scan-paths.

  -S brokenpath,bits=number,repeat=number
     Test the DR/IR scan-paths for breaks.

  -S integrity,bits=number,repeat=number
     Test the DR/IR scan-paths with fixed data values.

  -S givendata,literal=value,bits=number,repeat=number,
               testcase=number,testwidth=number
     Test the DR/IR scan-paths with user-specified literal data values.

  -S givendata,expand=value,bits=number,repeat=number,
               testcase=number,testwidth=number
     Test the DR/IR scan-paths with user-specified expanded data values.