]>
Commit | Line | Data |
---|---|---|
5e9dda95 UH |
1 | ------------------------------------------------------------------------------- |
2 | JTAG / NXP LPC2148 | |
3 | ------------------------------------------------------------------------------- | |
4 | ||
5 | This is a set of example captures of JTAG communication to a Keil MCB2140 | |
6 | eval board with a NXP LPC2148 (ARM7TDMI) microcontroller. | |
7 | ||
8 | The JTAG adapter used was the FTDI FT2232H based Floss-JTAG (V0.2). | |
9 | ||
10 | Details: | |
11 | http://randomprojects.org/wiki/Floss-JTAG | |
12 | http://www.keil.com/mcb2140/ | |
13 | http://www.nxp.com/products/microcontrollers/arm7/lpc2100/series/LPC2141_42_44_46_48.html | |
14 | ||
15 | ||
16 | Logic analyzer setup | |
17 | -------------------- | |
18 | ||
19 | The logic analyzer used was a Saleae Logic (at 4MHz): | |
20 | ||
21 | Probe JTAG connector | |
22 | -------------------------- | |
23 | 1 (black) TRST# | |
24 | 2 (brown) TDI | |
25 | 3 (red) TMS | |
26 | 4 (orange) TCK | |
27 | 5 (yellow) TDO | |
28 | 6 (green) RST | |
29 | 7 (blue) RTCK | |
30 | ||
31 | ||
32 | keil_mcb2140_init.sr | |
33 | -------------------- | |
34 | ||
35 | The following OpenOCD command was used: | |
36 | ||
37 | openocd -f interface/flossjtag-noeeprom.cfg -f board/keil_mcb2140.cfg \ | |
38 | -c "init" | |
39 | ||
40 | The sigrok command line used was: | |
41 | ||
42 | sigrok-cli -d 0:samplerate=4mhz --time 5s \ | |
43 | -p '1=TRST,2=TDI,3=TMS,4=TCK,5=TDO,6=RST,7=RTCK' -o <filename> | |
44 | ||
45 | ||
46 | keil_mcb2140_reset.sr | |
47 | --------------------- | |
48 | ||
49 | The following OpenOCD command was used: | |
50 | ||
51 | openocd -f interface/flossjtag-noeeprom.cfg -f board/keil_mcb2140.cfg \ | |
52 | -c "init" -c "poll off" -c "sleep 4000" -c "reset" -c "halt" | |
53 | ||
54 | (only the last "reset" and "halt" are in the dump) | |
55 | ||
56 | The sigrok command line used was: | |
57 | ||
58 | sigrok-cli -d 0:samplerate=4mhz --time 5s \ | |
59 | -p '1=TRST,2=TDI,3=TMS,4=TCK,5=TDO,6=RST,7=RTCK' -o <filename> | |
60 | ||
61 | ||
62 | keil_mcb2140_idle.sr | |
63 | -------------------- | |
64 | ||
65 | The following OpenOCD command was used: | |
66 | ||
67 | openocd -f interface/flossjtag-noeeprom.cfg -f board/keil_mcb2140.cfg \ | |
68 | -c "init" | |
69 | ||
70 | The sigrok command line used was: | |
71 | ||
72 | sigrok-cli -d 0:samplerate=4mhz --time 3s \ | |
73 | -p '1=TRST,2=TDI,3=TMS,4=TCK,5=TDO,6=RST,7=RTCK' -o <filename> | |
74 | ||
75 | sigrok-cli was only started a few seconds after the OpenOCD init/connection | |
76 | to capture what happens when the user doesn't actively use OpenOCD commands. | |
77 | ||
78 | ||
79 | keil_mcb2140_irscan_drscan.sr | |
80 | ----------------------------- | |
81 | ||
82 | The following OpenOCD command was used: | |
83 | ||
84 | openocd -f interface/flossjtag-noeeprom.cfg -f board/keil_mcb2140.cfg \ | |
85 | -c "init" -c "poll off" -c "sleep 4000" -c "irscan lpc2148.cpu 0xe" \ | |
86 | -c "drscan lpc2148.cpu 32 0" | |
87 | ||
88 | This gets the 32bit contents of the IDCODE register (0b1110): 0x4f1f0f0f. | |
89 | ||
90 | The sigrok command line used was: | |
91 | ||
92 | sigrok-cli -d 0:samplerate=4mhz --time 5s \ | |
93 | -p '1=TRST,2=TDI,3=TMS,4=TCK,5=TDO,6=RST,7=RTCK' -o <filename> | |
94 |