aboutsummaryrefslogtreecommitdiff
path: root/testing/smoketests.html
blob: 77b22a7007ef7701d8e526dec240115794c245ad (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
<html>

	<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">

	<body>
		<h1>OpenOCD smoketest 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>
		<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>
		<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" >657</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" >657</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" >657</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" >657</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" >657</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" >657</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" >657</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" >657</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" >657</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" >657</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" >657</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" >657</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" >657</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" >657</td>
				<td align="center" >n/a</td>
			</tr>
			<tr>
				<td width="40">jtag3</td>
				<td width="90">Turtelizer2</td>
				<td align="center" >657</td>
				<td align="center" >n/a</td>
			</tr>
			<tr>
				<td width="40">jtag4</td>
				<td width="90">JTAGkey</td>
				<td align="center" >657</td>
				<td align="center" >n/a</td>
			</tr>
			<tr>
				<td width="40">jtag5</td>
				<td width="90">add new one</td>
				<td align="center" >n/a</td>
				<td align="center" >n/a</td>
			</tr>
		</table>
		<p>jtag1:</p>
		<p>jtag2: Tested on Windows XP Prof. (SP2) with original FTDI&nbsp;driver.</p>
		<p>jtag3: Tested on Windows XP Prof. (SP2) with original FTDI&nbsp;driver.</p>
		<p>jtag4: Tested on Mac OS X (10.5.2, Intel) with libftdi-0.10 and libusb-0.1.12</p>
		<p>jtag5:</p>
		<hr>
		<h1>OpenOCD JTAG device speed test result</h1>
		<p>The test result is in KB/sec.</p>
		<table border="1">
			<tr>
				<th align="center" width="50">ID</th>
				<th width="90">Synopsis</th>
				<th width="40">r320</th>
				<th width="40">r420</th>
				<th width="40">r423</th>
				<th width="40">r459</th>
				<th width="40">r517</th>
				<th width="40">r536</th>
				<th width="40">r651</th>
				<th width="40">r657</th>
			</tr>
			<tr>
				<td width="50"><a href="#speed1">speed1</a></td>
				<td width="90">JTAGkey</td>
				<td align="center" width="40">93</td>
				<td align="center" width="40">64 </td>
				<td align="center" width="40">93</td>
				<td align="center" width="40">93</td>
				<td align="center" width="40">93</td>
				<td align="center" width="40">93</td>
				<td align="center" width="40">162</td>
				<td align="center" width="40">165</td>
			</tr>
			<tr>
				<td width="50"><a href="#speed2">speed2</a></td>
				<td width="90">JTAGkey</td>
				<td align="center" width="40">n/a</td>
				<td align="center" width="40">n/a</td>
				<td align="center" width="40">n/a</td>
				<td align="center" width="40">n/a</td>
				<td align="center" width="40">52</td>
				<td align="center" width="40">52</td>
				<td align="center" width="40">110</td>
				<td align="center" width="40">111</td>
			</tr>
			<tr>
				<td width="50">speed3</td>
				<td width="90">add new one</td>
				<td align="center" width="40">n/a</td>
				<td align="center" width="40">n/a</td>
				<td align="center" width="40">n/a</td>
				<td align="center" width="40">n/a</td>
				<td align="center" width="40">n/a</td>
				<td align="center" width="40">n/a</td>
				<td align="center" width="40">n/a</td>
				<td align="center" width="40">n/a</td>
			</tr>
		</table>
		<p></p>
		<hr>
		<h1>Policy on removing features from OpenOCD</h1>
		If a feature in OpenOCD is known to be broken and nobody has submitted a fix and the feature is causing trouble for maintainence, it can be removed from OpenOCD trunk. The threshold for temporarily removing something from OpenOCD trunk is low to ease maintainence and place the burden of maintainence on those that care about a feature.
		<p>Note that code is never deleted from OpenOCD svn, it remains in svn so if somebody sees a feature removed that they would like kept, they have but to port and fix that feature back up to main trunk. This document can be helpful in this regard in that the latest working version and the known broken version may be listed.</p>
		<h1>Policy on adding features from OpenOCD</h1>
		To add a feature to OpenOCD, generally it should not break any existing features and it should be functional and the code reasonably readable and useful to others in the OpenOCD community. The code does not have to be completed. Work in progress is fine for OpenOCD trunk.
		<p>Also new tests should be defined. Note that the code does not have to pass all the tests. In fact it can be helpful to have tests to describe facets that really should be working, but aren't done yet. </p>
		<hr>
		<h1>ocd4 - ARM7 debugging<a name="test_ocd4"></a></h1>
		Connect to ARM7 device(any), use GDB load to load a program into RAM and single halt, resume and single step.
		<hr>
		<h1>bdte-ram (Basic debugging test with Eclipse in RAM)<a id="bdte-ram" name="bdte-ram"></a></h1>
		<p>This test was made under Eclipse with the Zylin Embedded CDT&nbsp;plugin. For the GDB &quot;Initialize commands&quot; take a look in the examples/&lt;target&gt;/prj/<b>eclipse_ram.gdb</b> file.</p>
		<p>Start debugging,  the debugger should stop at main. set some breakpoints and &quot;Resume&quot;. If the debugger hit a breakpoint check if the &quot;Variables&quot; looks correct. Remove some breakpoints and &quot;Resume&quot; again. If the target is running, use the &quot;Suspend&quot; function and use &quot;Step Into&quot; or &quot;Step Over&quot; through the source. Even open the &quot;Disassembly&quot; view and enable the &quot;Instruction Stepping Mode&quot;. Now you can single step through the assembler source. Use &quot;Resume&quot; again to run the program, set a breakpoint while the target is running. Check if  you can inspect the variables with the mouse over. Play a little with the target...</p>
		<hr>
		<h1>bdte-rom (Basic debugging test with Eclipse in ROM)<a id="bdte-rom" name="bdte-rom"></a></h1>
		<p>This test was made under Eclipse with the Zylin Embedded CDT&nbsp;plugin. For the GDB &quot;Initialize commands&quot; take a look in the examples/&lt;target&gt;/prj/<b>eclipse_rom.gdb</b> file.</p>
		<p>Start debugging, the debugger should download and store the program in the flash of the target.</p>
		<p>Now you can make some tests like described in the <a href="#bdte-ram">bdte-ram</a> section above too.</p>
		<hr>
		<h1>speed1 - Download speed test<a id="speed1" name="speed1"></a></h1>
		<p>For this test a STR710 with external memory was used. The example project can be found under examples/STR710JtagSpeed. Here Eclipse or the arm-elf-gdb can be used to download the test.elf file into the RAM. The result of the GDB&nbsp;can look like:</p>
		<p>Loading section .text, size 0x6019c lma 0x62000000<br>
			Start address 0x62000040, load size 393628<br>
			Transfer rate: 93 KB/sec, 2008 bytes/write.</p>
		<p>In this example a speed of 93 KB/sec was reached. The hardware which was used for the test can be found <a href="http://www.yagarto.de/projects/str7usbmsd/index.html" target="new">here</a>.</p>
		<p>The test was made on Windows XP Prof. (SP2) with a JTAGkey and the original FTDI driver.</p>
		<hr>
		<h1>speed2 - Download speed test<a id="speed2" name="speed2"></a></h1>
		<p>For this test a STR710 with external memory was used. The example project can be found under examples/STR710JtagSpeed. Here Eclipse or the arm-elf-gdb can be used to download the test.elf file into the RAM. The result of the GDB&nbsp;can look like:</p>
		<p>Loading section .text, size 0x6019c lma 0x62000000<br>
			Start address 0x62000040, load size 393628<br>Transfer rate: 52 KB/sec, 2008 bytes/write.</p>
		<p>In this example a speed of 52 KB/sec was reached. The hardware which was used for the test can be found <a href="http://www.yagarto.de/projects/str7usbmsd/index.html" target="new">here</a>.</p>
		<p>The test was made on Mac OS X (10.5.2, Intel)  with a JTAGkey and the following driver:</p>
		<p>- libftdi 0.10<br>
			- libusb 0.1.12</p>
		<p></p>
		<p></p>
	</body>

</html>