Browse Source

- update texi to describe str9xpec driver flow

git-svn-id: svn:// b42882b7-edfa-0310-969c-e2dbd0fdcd60
ntfreak 15 years ago
1 changed files with 39 additions and 1 deletions
  1. +39

+ 39
- 1
doc/openocd.texi View 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.
Standard driver @option{str9x} programmed via the str9 core. Normally used for
flash programming as it is faster than the @option{str9xpec} driver.
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.
# 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