@itemize @bullet
@item @b{usbjtag}
-@* Link Unknown [not easily verified]
+@* Link @url{http://www.hs-augsburg.de/~hhoegl/proj/usbjtag/usbjtag.html}
@item @b{jtagkey}
@* See: @url{http://www.amontec.com/jtagkey.shtml}
@item @b{oocdlink}
-@* Link Unknown [not easily verified]
+@* See: @url{http://www.oocdlink.com} By Joern Kaipf
@item @b{signalyzer}
@* See: @url{http://www.signalyzer.com}
@item @b{evb_lm3s811}
@item @b{comstick}
@* Link: @url{http://www.hitex.com/index.php?id=383}
@item @b{stm32stick}
-@* Link Unknown [not easily verified]
+@* Link @url{http://www.hitex.com/stm32-stick}
+@item @b{axm0432_jtag}
+@* Axiom AXM-0432 Link @url{http://www.axman.com}
@end itemize
@section USB JLINK based
@* Unknown.
@item @b{Lattice}
-@* From Lattice Semiconductor [link unknown]
+@* ispDownload from Lattice Semiconductor @url{http://www.latticesemi.com/lit/docs/devtools/dlcable.pdf}
@item @b{flashlink}
@* From ST Microsystems, link:
egnite Software turtelizer2
@item @b{oocdlink}
OOCDLink
+@item @b{axm0432_jtag}
+Axiom AXM-0432
@end itemize
@item @b{ft2232_vid_pid} <@var{vid}> <@var{pid}>
@cindex flash protect_check
@*Check protection state of sectors in flash bank <num>.
@option{flash erase_sector} using the same syntax.
-@subsection fash erase_sector
+@subsection flash erase_sector
@b{flash erase_sector} <@var{num}> <@var{first}> <@var{last}>
@cindex flash erase_sector
@anchor{flash erase_sector}
@option{enable_turbo} <@var{num>.}
Only use this driver for locking/unlocking the device or configuring the option bytes.
-Use the standard str9 driver for programming.
+Use the standard str9 driver for programming. @xref{STR9 specific commands}.
@subsubsection stellaris (LM3Sxxx) options
@cindex stellaris (LM3Sxxx) options
@subsection STR9 specific commands
@cindex STR9 specific commands
+@anchor{STR9 specific commands}
These are flash specific commands when using the str9xpec driver.
@itemize @bullet
@item @b{str9xpec enable_turbo} <@var{num}>
@*write str9 option bytes.
@end itemize
+Note: Before using the str9xpec driver here is some background info to help
+you better understand how the drivers works. Openocd has two flash drivers for
+the str9.
+@enumerate
+@item
+Standard driver @option{str9x} programmed via the str9 core. Normally used for
+flash programming as it is faster than the @option{str9xpec} driver.
+@item
+Direct programming @option{str9xpec} using the flash controller, this is
+ISC compilant (IEEE 1532) tap connected in series with the str9 core. The str9
+core does not need to be running to program using this flash driver. Typical use
+for this driver is locking/unlocking the target and programming the option bytes.
+@end enumerate
+
+Before we run any cmds using the @option{str9xpec} driver we must first disable
+the str9 core. This example assumes the @option{str9xpec} driver has been
+configured for flash bank 0.
+@example
+# assert srst, we do not want core running
+# while accessing str9xpec flash driver
+jtag_reset 0 1
+# turn off target polling
+poll off
+# disable str9 core
+str9xpec enable_turbo 0
+# read option bytes
+str9xpec options_read 0
+# re-enable str9 core
+str9xpec disable_turbo 0
+poll on
+reset halt
+@end example
+The above example will read the str9 option bytes.
+When performing a unlock remember that you will not be able to halt the str9 - it
+has been locked. Halting the core is not required for the @option{str9xpec} driver
+as mentioned above, just issue the cmds above manually or from a telnet prompt.
+
@subsection STR9 configuration
@cindex STR9 configuration
@itemize @bullet