Next: , Previous: Reset Configuration, Up: Top


11 Tap Creation

In order for OpenOCD to control a target, a JTAG tap must be defined/created.

Commands to create taps are normally found in a configuration file and are not normally typed by a human.

When a tap is created a dotted.name is created for the tap. Other commands use that dotted.name to manipulate or refer to the tap.

Tap Uses:

11.1 jtag newtap

jtag newtap CHIPNAME TAPNAME configparams ....

Notes:

11.2 jtag_device - REMOVED

     jtag_device <IR length> <IR capture> <IR mask> <IDCODE instruction>


Removed: 28/nov/2008 This command has been removed and replaced by the “jtag newtap” command. The documentation remains here so that one can easily convert the old syntax to the new syntax. About the old syntax: The old syntax is positional, ie: The 3rd parameter is the “irmask”. The new syntax requires named prefixes, and supports additional options, for example “-expected-id 0x3f0f0f0f”. Please refer to the jtag newtap command for details.

     OLD: jtag_device 8 0x01 0xe3 0xfe
     NEW: jtag newtap CHIPNAME TAPNAME -irlen 8 -ircapture 0x01 -irmask 0xe3

11.3 Enable/Disable Taps

Note: These commands are intended to be used as a machine/script interface. Humans might find the “scan_chain” command more helpful when querying the state of the JTAG taps.

By default, all taps are enabled

These commands are used when your target has a JTAG Route controller that effectively adds or removes a tap from the jtag chain in a non-standard way.

The “standard way” to remove a tap would be to place the tap in bypass mode. But with the advent of modern chips, this is not always a good solution. Some taps operate slowly, others operate fast, and there are other JTAG clock syncronization problems one must face. To solve that problem, the JTAG Route controller was introduced. Rather then “bypass” the tap, the tap is completely removed from the circuit and skipped.

From OpenOCD's view point, a JTAG TAP is in one of 3 states:

The IEEE JTAG definition has no concept of a “disabled” tap. Historical note: this feature was added 28/nov/2008

jtag tapisenabled DOTTED.NAME

This command returns 1 if the named tap is currently enabled, 0 if not. This command exists so that scripts that manipulate a JRC (like the Omap3530 has) can determine if OpenOCD thinks a tap is presently enabled, or disabled.