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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
-------------------------------------------------------------------------------
JTAG / NXP LPC2148
-------------------------------------------------------------------------------
This is a set of example captures of JTAG communication to a Keil MCB2140
eval board with a NXP LPC2148 (ARM7TDMI) microcontroller.
The JTAG adapter used was the FTDI FT2232H based Floss-JTAG (V0.2).
Details:
http://randomprojects.org/wiki/Floss-JTAG
http://www.keil.com/mcb2140/
http://www.nxp.com/products/microcontrollers/arm7/lpc2100/series/LPC2141_42_44_46_48.html
Logic analyzer setup
--------------------
The logic analyzer used was a Saleae Logic (at 4MHz):
Probe JTAG connector
--------------------------
1 (black) TRST#
2 (brown) TDI
3 (red) TMS
4 (orange) TCK
5 (yellow) TDO
6 (green) RST
7 (blue) RTCK
keil_mcb2140_init.sr
--------------------
The following OpenOCD command was used:
openocd -f interface/flossjtag-noeeprom.cfg -f board/keil_mcb2140.cfg \
-c "init"
The sigrok command line used was:
sigrok-cli -d 0:samplerate=4mhz --time 5s \
-p '1=TRST,2=TDI,3=TMS,4=TCK,5=TDO,6=RST,7=RTCK' -o <filename>
keil_mcb2140_reset.sr
---------------------
The following OpenOCD command was used:
openocd -f interface/flossjtag-noeeprom.cfg -f board/keil_mcb2140.cfg \
-c "init" -c "poll off" -c "sleep 4000" -c "reset" -c "halt"
(only the last "reset" and "halt" are in the dump)
The sigrok command line used was:
sigrok-cli -d 0:samplerate=4mhz --time 5s \
-p '1=TRST,2=TDI,3=TMS,4=TCK,5=TDO,6=RST,7=RTCK' -o <filename>
keil_mcb2140_idle.sr
--------------------
The following OpenOCD command was used:
openocd -f interface/flossjtag-noeeprom.cfg -f board/keil_mcb2140.cfg \
-c "init"
The sigrok command line used was:
sigrok-cli -d 0:samplerate=4mhz --time 3s \
-p '1=TRST,2=TDI,3=TMS,4=TCK,5=TDO,6=RST,7=RTCK' -o <filename>
sigrok-cli was only started a few seconds after the OpenOCD init/connection
to capture what happens when the user doesn't actively use OpenOCD commands.
keil_mcb2140_irscan_drscan.sr
-----------------------------
The following OpenOCD command was used:
openocd -f interface/flossjtag-noeeprom.cfg -f board/keil_mcb2140.cfg \
-c "init" -c "poll off" -c "sleep 4000" -c "irscan lpc2148.cpu 0xe" \
-c "drscan lpc2148.cpu 32 0"
This gets the 32bit contents of the IDCODE register (0b1110): 0x4f1f0f0f.
The sigrok command line used was:
sigrok-cli -d 0:samplerate=4mhz --time 5s \
-p '1=TRST,2=TDI,3=TMS,4=TCK,5=TDO,6=RST,7=RTCK' -o <filename>
|