GRMON3-UM
June 2019, Version 3.1.0
54 www.cobham.com/gaisler
is connected to the host, then you need to specify which one to use, by using a commandline option. Otherwise
it will default to the first it finds.
Extra options common for all JTAG cables:
-jtaglist
List all available cables and exit application.
-jtagcable <n>
Specify which cable to use if more than one is connected to the computer. If only one cable of the same type
is connected to the host computer, then it will automatically be selected. It's also used to select parallel port.
-jtagserial <sn>
Specify which cable to use by serial number if more than one is connected to the computer.
-jtagdevice <n>
Specify which device in the chain to debug. Use if more than one is device in the chain is debuggable.
-jtagcomver <version>
Specify JTAG debug link version.
-jtagretry <num>
Set the number of retries.
-jtagcfg <filename>
Load a JTAG configuration file, defining unknown devices.
JTAG debug link version
The JTAG interface has in the past been unreliable in systems with very high bus loads, or extremely slow AM-
BA AHB slaves, that lead to GRMON reading out AHB read data before the access had actually completed on
the AHB bus. Read failures have been seen in systems where the debug interface needed to wait hundreds of
cycles for an AHB access to complete. With version 1 of the JTAG AHB debug link the reliability of the debug
link has been improved. In order to be backward compatible with earlier versions of the debug link, GRMON
cannot use all the features of AHBJTAG version 1 before the debug monitor has established that the design in fact
contains a core with this version number. In order to do so, GRMON scans the plug and play area. However, in
systems that have the characteristics described above, the scanning of the plug and play area may fail. For such
systems the AHBJTAG version assumed by GRMON during plug and play scanning can be set with the switch -
jtagcomver<version>. This will enable GRMON to keep reading data from the JTAG AHB debug interface
until the AHB access completes and valid data is returned. Specifying the version in systems that have AHBJTAG
version 0 has no benefit and may lead to erroneous behavior. The option -jtagretry<num> can be used to set
the number of attempts before GRMON gives up.
JTAG chain devices
If more than one device in the JTAG chain are recognized as debuggable (FPGAs, ASICs etc), then the device to
debug must be specified using the commandline option -jtagdevice. In addition, all devices in the chain must
be recognized. GRMON automatically recognizes the most common FPGAs, CPLDs, proms etc. But unknown
JTAG devices will cause GRMON JTAG chain initialization to fail. This can be solved by defining a JTAG
configuration file. GRMON is started with -jtagcfg switch. An example of JTAG configuration file is shown
below. If you report the device ID and corresponding JTAG instruction register length to Cobham Gaisler, then
the device will be supported in future releases of GRMON.
# JTAG Configuration file
# Name Id Mask Ir length Debug I/F Instr. 1 Instr. 2
xc2v3000 0x01040093 0x0fffffff 6 1 0x2 0x3
xc18v04 0x05036093 0x0ffeffff 8 0
ETH 0x103cb0fd 0x0fffffff 16 0
Each line consists of device name, device id, device id mask, instruction register length, debug link and user
instruction 1 and 2 fields, where:
Name String with device name
Id Device identification code
Mask Device id mask is ANDed with the device id before comparing with the identification codes
obtained from the JTAG chain. Device id mask allows user to define a range of identification
codes on a single line, e.g. mask 0x0fffffff will define all versions of a certain device.