File: t_urjtag_chain.py

package info (click to toggle)
urjtag 2021.03-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 18,232 kB
  • sloc: ansic: 56,769; sh: 4,897; yacc: 2,159; lex: 1,545; vhdl: 1,324; makefile: 1,275; python: 72; sed: 16
file content (80 lines) | stat: -rw-r--r-- 1,847 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#!/usr/bin/python

#
# A general test and demonstration of several urjtag operations from python.
#

# works in both python 2 and 3
def printf(format, *args):
     """Format args with the first argument as format string, and print.
     If the format is not a string, it is converted to one with str.
     You must use printf('%s', x) instead of printf(x) if x might
     contain % or backslash characters."""
     sys.stdout.write(str(format) % args)

import sys
sys.path.append( "." )

import urjtag

#urjtag.loglevel(0) # ALL

urc = urjtag.chain()
printf("%s\n", urc);

urc.cable("JTAGKey")
printf("urc.cable done %s\n", urc)

urc.test_cable()
printf("urc.test_cable done\n")

f = urc.get_frequency()
printf("frequency was %d Hz\n", f)
urc.set_frequency(10000)
f = urc.get_frequency()
printf("frequency readback = %d Hz\n", f)

trst = urc.get_trst()
printf("TRST=%d\n", trst)
urc.set_trst(0)
trst = urc.get_trst()
printf( "TRST set 0 -> %d\n", trst)
urc.set_trst(1)
trst = urc.get_trst()
printf("TRST set 1 -> %d\n", trst)

urc.reset();

urc.tap_detect()
printf("urc.detect done\n")
printf("chainlength=%d\n", urc.len())

printf("id[0]=%08x\n", urc.partid(0) );

srstbit = 0x10
srstval = urc.get_pod_signal(srstbit)
printf( "srstval -> %s\n", srstval);

urc.set_pod_signal(srstbit, 0)
srstval = urc.get_pod_signal(srstbit)
printf("srstval set 0 -> %s\n", srstval)
urc.set_pod_signal(srstbit, 1)
srstval = urc.get_pod_signal(srstbit)
printf("srstval set 1 -> %s\n", srstval)

urc.set_instruction("SAMPLE/PRELOAD")
urc.shift_ir()
drval = urc.get_dr_in()
printf("BSR dr_in result: %s\n", drval)
urc.shift_dr()
drval = urc.get_dr_out()
printf("BSR dr_out result: %s\n", drval)

urc.set_instruction("IDCODE")
urc.shift_ir()
urc.shift_dr()
drval = urc.get_dr_out()
printf("IDREG dr result: %s\n", drval)

urc.set_instruction("BYPASS")
urc.shift_ir()