Skip to content

JTAG device list

Asbjørn Djupdal edited this page Jun 9, 2020 · 4 revisions

For JTAG sampling to work, Lynsyn needs to know about the devices present on the JTAG chain. Lynsyn automatically probes the JTAG chain, but certain properties must be known in advance. These properties are read from the first of the following files that the software finds:

  • <current directory>/jtagdevices
  • <current directory>/.jtagdevices
  • ~/.jtagdevices
  • /etc/jtagdevices

JTAG chain

For every device on the JTAG chain, there must be a corresponding line in the jtagdevices file. This line has the following format:

jtag <idcode> <irlen>

Example line for a device:

jtag 0x28e20126 12

This means that for every device on the JTAG chain, you need to know both its idcode and its irlen. This information can be found in documentation or support software for that device.

ARM cores

In addition, all ARM cores must have a corresponding line in the jtagdevices file. This line has the following format:

architecture pidr0 pidr0mask pidr1 pidr1mask pidr2 pidr2mask pidr3 pidr3mask pidr4 pidr4mask

  • architecture: One of the following: armv7 or armv8
  • pidrX: The contents of the core's pidr register X
  • pidrXmask: A bitmask used to specify which bits in the pidrX register are significant

Example for the ARM core Cortex A9:

armv7 0x9 0xff 0xbc 0xff 0xb 0x0f 0 0 0x4 0x0f