blob: 85070ed5c8939f615082d471eee4728d4b732d78 (
plain)
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
|
<html>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<body>
<h1>Release testing</h1>
A release test must be done on code committed to svn. Commit, then test. That way one can know for sure *what* code was actually tested.
<p>
Note that this testing document does not have anything to do with testing that is done
before committing to svn. It is a test document for released code. Pre-commit testing
is done mostly by the developer who has written the change. Release testing is
done on code believed to be stable, often a couple of weeks old, and not by
the developers, but rather users and community testers who has the requisite hardware
and test setup. Also the testing can take place over an extended period of time.
<p>
All of the above makes it imperative that there can be no doubt about *which* code
is tested and thus all tests refer to committed code by subversion number.
<h1>Release procedure</h1>
OpenOCD trunk is work in progress. Expect it to change daily and to have some quirks.
<p>If you need the latest released and tested version, look for binary snapshots of OpenOCD. Worst case look up the test result table below for the features that are important to you and extract and build the version that has the right cocktail of working features for you. You can also work with the community to address the problems you are seing. Testing work and bug reports are highly appreciated.</p>
<p>The OpenOCD community may decide to create release branches. If this happens, then a branch will be created from OpenOCD trunk. The particular version to create that branch might be an older version rather than the latest and greatest. Fixes are then ported to that release branch from OpenOCD trunk.</p>
<h2>Vocabulary</h2>
<table border="1">
<tr>
<td width="100">Passed version</td>
<td>The latest branch and version on which the test is known to pass</td>
</tr>
<tr>
<td width="100">Broken version</td>
<td>The latest branch and version on which the test is known to fail. n/a when older than passed version.</td>
</tr>
<tr>
<td width="100">ID</td>
<td>A unqiue ID to refer to a test. The unique numbers are maintained in this file. Note that the same test can be run on different hardware/interface. Each combination yields a unique id. </td>
</tr>
</table>
<p></p>
<hr>
<h1>OpenOCD test results</h1>
These tests can be performed on any JTAG device as long as they are executed using the unmodified code from SVN.
<p>The latest version in which the test is known to have passed is in the table below.</p>
<table border="1">
<tr>
<th width="100">Unique ID</th>
<th width="165">Synopsis</th>
<th align="center" width="110">JTAG device</th>
<th align="center" width="110">Passed version</th>
<th align="center" width="110">Broken version</th>
</tr>
<tr>
<td >fill_malloc</td>
<td width="165">Fill malloc() memory with garbage</td>
<td align="center" >n/a</td>
<td align="center" >n/a</td>
<td align="center" >n/a</td>
</tr>
<tr>
<td >ocd1</td>
<td width="165">Telnet Windows</td>
<td align="center" >n/a</td>
<td align="center" >n/a</td>
<td align="center" >n/a</td>
</tr>
<tr>
<td >ocd2</td>
<td width="165">Telnet Linux</td>
<td align="center" >n/a</td>
<td align="center" >n/a</td>
<td align="center" >n/a</td>
</tr>
<tr>
<td >ocd3</td>
<td width="165">Telnet Cygwin</td>
<td align="center" >n/a</td>
<td align="center" >n/a</td>
<td align="center" >n/a</td>
</tr>
<tr>
<td ><a href="#test_ocd4">ocd4</a></td>
<td width="165">ARM7 debugging</td>
<td align="center" >n/a</td>
<td align="center" >n/a</td>
<td align="center" >n/a</td>
</tr>
<tr>
<td >SAM9260</td>
<td width="165">SAM9260 debugging</td>
<td align="center">ft2232 </td>
<td align="center">500</td>
<td align="center">n/a</td>
</tr>
<tr>
<td >xscale1</td>
<td width="165">XScale debugging</td>
<td align="center" >bitbang</td>
<td align="center" >505</td>
<td align="center" >n/a</td>
</tr>
<tr>
<td >xscale2</td>
<td width="165">XScale debugging</td>
<td align="center" >FT2232</td>
<td align="center" >202</td>
<td align="center" >n/a</td>
</tr>
<tr>
<td ><a href="#bdte-ram">bdte-ram1</a></td>
<td width="165">str710 ram debugging</td>
<td align="center" >JTAGkey</td>
<td align="center" >536</td>
<td align="center" >n/a</td>
</tr>
<tr>
<td ><a href="#bdte-rom">bdte-rom2</a></td>
<td width="165">str710 rom debugging</td>
<td align="center" >JTAGkey</td>
<td align="center" >536</td>
<td align="center" >n/a</td>
</tr>
<tr>
<td ><a href="#bdte-ram">bdte-ram3</a></td>
<td width="165">str912 ram debugging</td>
<td align="center" >JTAGkey</td>
<td align="center" >536</td>
<td align="center" >n/a</td>
</tr>
<tr>
<td ><a href="#bdte-rom">bdte-rom4</a></td>
<td width="165">str912 rom debugging</td>
<td align="center" >JTAGkey</td>
<td align="center" >536</td>
<td align="center" >n/a</td>
</tr>
<tr>
<td ><a href="#bdte-ram">bdte-ram5</a></td>
<td width="165">lpc2148 ram debugging</td>
<td align="center" >JTAGkey</td>
<td align="center" >536</td>
<td align="center" >n/a</td>
</tr>
<tr>
<td ><a href="#bdte-rom">bdte-rom6</a></td>
<td width="165">lpc2148 rom debugging</td>
<td align="center" >JTAGkey</td>
<td align="center" >536</td>
<td align="center" >n/a</td>
</tr>
<tr>
<td ><a href="#bdte-ram">bdte-ram7</a></td>
<td width="165">lpc2294 ram debugging</td>
<td align="center" >JTAGkey</td>
<td align="center" >536</td>
<td align="center" >n/a</td>
</tr>
<tr>
<td ><a href="#bdte-rom">bdte-rom8</a></td>
<td width="165">lpc2294 rom debugging</td>
<td align="center" >JTAGkey</td>
<td align="center" >536</td>
<td align="center" >n/a</td>
</tr>
<tr>
<td ><a href="#bdte-ram">bdte-ram9</a></td>
<td width="165">sam7s256 ram debugging</td>
<td align="center" >JTAGkey</td>
<td align="center" >536</td>
<td align="center" >n/a</td>
</tr>
<tr>
<td ><a href="#bdte-rom">bdte-rom10</a></td>
<td width="165">sam7s256 rom debugging</td>
<td align="center" >JTAGkey</td>
<td align="center" >536</td>
<td align="center" >n/a</td>
</tr>
<tr>
<td ><a href="#bdte-ram">bdte-ram11</a></td>
<td width="165">sam7x256 ram debugging</td>
<td align="center" >JTAGkey</td>
<td align="center" >517</td>
<td align="center" >n/a</td>
</tr>
<tr>
<td ><a href="#bdte-rom">bdte-rom12</a></td>
<td width="165">sam7x256 rom debugging</td>
<td align="center" >JTAGkey</td>
<td align="center" >517</td>
<td align="center" >n/a</td>
</tr>
<tr>
<td ><a href="#bdte-ram">bdte-ram13</a></td>
<td width="165">at91r40008 ram debugging</td>
<td align="center" >JTAGkey</td>
<td align="center" >536</td>
<td align="center" >n/a</td>
</tr>
</table>
<p></p>
<hr>
<h1>OpenOCD JTAG device test results</h1>
Each JTAG device must be tested
<table border="1">
<tr>
<th align="center" width="40">ID</th>
<th width="90">Synopsis</th>
<th >Passed version</th>
<th >Broken version</th>
</tr>
<tr>
<td width="40">jtag1</td>
<td width="90">Parport</td>
<td align="center" >n/a</td>
<td align="center" >n/a</td>
</tr>
<tr>
<td width="40">jtag2</td>
<td width="90">JTAGkey</td>
<td align="center" >536</td>
<td align="center" >n/a</td>
</tr>
<tr>
<td width="40">jtag3</td>
<td width="90">Turtelizer2</td
|