diff options
-rw-r--r-- | doc/openocd.texi | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/doc/openocd.texi b/doc/openocd.texi index 3f6da4ad..322be28f 100644 --- a/doc/openocd.texi +++ b/doc/openocd.texi @@ -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 |