diff --git a/testing/index.html b/testing/index.html index 8aabcd448..066a0c7ec 100644 --- a/testing/index.html +++ b/testing/index.html @@ -1,80 +1,142 @@ - -

Testing

-A test should be done on code committed to svn. Commit, then test. That way -one can know for sure *what* code was actually tested. -

Release procedure

-OpenOCD trunk is work in progress. Expect it to change daily and to have -some work in progress. -

-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. -

-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. -

Vocabulary

- - - - -
Passed versionThe latest version on which the test is known to pass
Broken versionThe latest version on which the test is known to fail. n/a when older than passed version.
IDA unqiue ID to refer to a test. The unique numbers are maintained in this file.
-

OpenOCD test results

-These tests can be performed on any JTAG device as long -as they are executed using the unmodified code from SVN. -

-The latest version in which the test is known to have -passed is in the table below. - - - - - - - - -
IDSynopsisPassed versionBroken version
ocd1Telnet Windows291n/a
ocd2Telnet Linux291n/a
ocd3Telnet Cygwin291n/a
ocd4ARM7 debugging291
xscale1XScale debugging291
xscale2XScale MMU291
-

OpenOCD JTAG device test results

-Each JTAG device must be tested - - - - - -
IDSynopsisPassed versionBroken version
jtag1Wiggler291n/a
jtag2Parport291n/a
jtag3...291n/a
+ -

Policy on removing features from OpenOCD

-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. -

-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. -

Policy on adding features from OpenOCD

-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. -

-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. - -

ocd4 - ARM7 debugging

-Connect to ARM7 device(any), use GDB load to load a program into RAM and single halt, resume and single step. - - + +

Testing

+ A test should be done on code committed to svn. Commit, then test. That way one can know for sure *what* code was actually tested. +

Release procedure

+ OpenOCD trunk is work in progress. Expect it to change daily and to have some work in progress. +

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.

+

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.

+

Vocabulary

+ + + + + + + + + + + + + +
Passed versionThe latest version on which the test is known to pass
Broken versionThe latest version on which the test is known to fail. n/a when older than passed version.
IDA unqiue ID to refer to a test. The unique numbers are maintained in this file.
+

+
+

OpenOCD test results

+ These tests can be performed on any JTAG device as long as they are executed using the unmodified code from SVN. +

The latest version in which the test is known to have passed is in the table below.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDSynopsisPassed versionBroken version
ocd1Telnet Windows291n/a
ocd2Telnet Linux291n/a
ocd3Telnet Cygwin291n/a
ocd4ARM7 debugging291n/a
xscale1XScale debugging291n/a
xscale2XScale MMU291n/a
bdte-ramstr710 ram debugging320n/a
bdte-romstr710 rom debugging320406
+

+
+

OpenOCD JTAG device test results

+ Each JTAG device must be tested + + + + + + + + + + + + + + + + + + + + + + + + + +
IDSynopsisPassed versionBroken version
jtag1Wiggler291n/a
jtag2Parport291n/a
jtag3JTAGkey406n/a
+

+
+

Policy on removing features from OpenOCD

+ 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. +

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.

+

Policy on adding features from OpenOCD

+ 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. +

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.

+
+

ocd4 - ARM7 debugging

+ Connect to ARM7 device(any), use GDB load to load a program into RAM and single halt, resume and single step. +
+

bdte-ram (Basic debugging test with Eclipse in RAM)

+

This test was made under Eclipse with the Zylin Embedded CDT plugin. For the GDB "Initialize commands" take a look in the examples/<target>/prj/eclipse_ram.gdb file.

+

Start debugging, the debugger should stop at main. set some breakpoints and "Resume". If the debugger hit a breakpoint check if the "Variables" looks correct. Remove some breakpoints and "Resume" again. If the target is running, use the "Suspend" function and use "Step Into" or "Step Over" through the source. Even open the "Disassembly" view and enable the "Instruction Stepping Mode". Now you can single step through the assembler source. Use "Resume" 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...

+
+

bdte-rom (Basic debugging test with Eclipse in ROM)

+

This test was made under Eclipse with the Zylin Embedded CDT plugin. For the GDB "Initialize commands" take a look in the examples/<target>/prj/eclipse_rom.gdb file.

+

Start debugging, the debugger should download and store the program in the flash of the target.

+

Now you can make some tests like described in the bdte-ram section above too.

+

+

+ + + \ No newline at end of file