]> sigrok.org Git - libsigrokdecode.git/blame - decoders/jtag/__init__.py
onewire: combined reset and presence detect events, avoid unneeded overdrive exit...
[libsigrokdecode.git] / decoders / jtag / __init__.py
CommitLineData
557a143d
UH
1##
2## This file is part of the sigrok project.
3##
4## Copyright (C) 2012 Uwe Hermann <uwe@hermann-uwe.de>
5##
6## This program is free software; you can redistribute it and/or modify
7## it under the terms of the GNU General Public License as published by
8## the Free Software Foundation; either version 2 of the License, or
9## (at your option) any later version.
10##
11## This program is distributed in the hope that it will be useful,
12## but WITHOUT ANY WARRANTY; without even the implied warranty of
13## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14## GNU General Public License for more details.
15##
16## You should have received a copy of the GNU General Public License
17## along with this program; if not, write to the Free Software
18## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19##
20
21'''
22JTAG protocol decoder.
23
6e7a0087
UH
24JTAG (Joint Test Action Group), a.k.a. "IEEE 1149.1: Standard Test Access Port
25and Boundary-Scan Architecture", is a protocol used for testing, debugging,
26and flashing various digital ICs.
27
28TODO: Protocol details.
29
74244cda
UH
30Protocol output format (WORK IN PROGRESS!):
31
32JTAG packet:
33[<packet-type>, <data>]
34
35<packet-type> is one of:
71077f34
UH
36 - 'NEW STATE': <data> is the new state of the JTAG state machine.
37 Valid values: 'TEST-LOGIC-RESET', 'RUN-TEST/IDLE', 'SELECT-DR-SCAN',
38 'CAPTURE-DR', 'SHIFT-DR', 'EXIT1-DR', 'PAUSE-DR', 'EXIT2-DR', 'UPDATE-DR',
39 'SELECT-IR-SCAN', 'CAPTURE-IR', 'SHIFT-IR', 'EXIT1-IR', 'PAUSE-IR',
40 'EXIT2-IR', 'UPDATE-IR'.
41 - 'IR TDI': Bitstring that was clocked into the IR register.
42 - 'IR TDO': Bitstring that was clocked out of the IR register.
43 - 'DR TDI': Bitstring that was clocked into the DR register.
44 - 'DR TDO': Bitstring that was clocked out of the DR register.
45 - ...
74244cda
UH
46
47All bitstrings are a sequence of '1' and '0' characters. The right-most
48character in the bitstring is the LSB. Example: '01110001' (1 is LSB).
6e7a0087 49
557a143d 50Details:
6e7a0087
UH
51https://en.wikipedia.org/wiki/Joint_Test_Action_Group
52http://focus.ti.com/lit/an/ssya002c/ssya002c.pdf
557a143d
UH
53'''
54
55from .jtag import *
56