]> git.sur5r.net Git - openocd/commitdiff
- update texi to describe str9xpec driver flow
authorntfreak <ntfreak@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Sat, 6 Dec 2008 10:48:46 +0000 (10:48 +0000)
committerntfreak <ntfreak@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Sat, 6 Dec 2008 10:48:46 +0000 (10:48 +0000)
git-svn-id: svn://svn.berlios.de/openocd/trunk@1218 b42882b7-edfa-0310-969c-e2dbd0fdcd60

doc/openocd.texi

index 3f6da4adbfba034f85af6202e82475bd22c1f83e..322be28f24c7c856a946bb456c41701421801928 100644 (file)
@@ -2080,7 +2080,7 @@ This will setup the BBSR, NBBSR, BBADR and NBBADR registers respectively.
 @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
@@ -2140,6 +2140,7 @@ for each flash plane and this is called with
 
 @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}>
@@ -2164,6 +2165,43 @@ erase the device.
 @*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