summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorDavid Brownell <dbrownell@users.sourceforge.net>2010-01-13 23:33:25 -0800
committerDavid Brownell <dbrownell@users.sourceforge.net>2010-01-13 23:33:25 -0800
commit73566405b6e105b0a8b7f21db48331926bec97ad (patch)
treed1f38082d0c060b6220a265470b35685c8426907 /doc
parentd91941d5a01ca0b9d43571edc03ba18741076cca (diff)
downloadopenocd_libswd-73566405b6e105b0a8b7f21db48331926bec97ad.tar.gz
openocd_libswd-73566405b6e105b0a8b7f21db48331926bec97ad.tar.bz2
openocd_libswd-73566405b6e105b0a8b7f21db48331926bec97ad.tar.xz
openocd_libswd-73566405b6e105b0a8b7f21db48331926bec97ad.zip
NOR: add optional "flash erase_address" sector padding
Add a NOR flash mechanism where erase_address ranges can be padded out to sector boundaries, triggering a diagnostic: > flash erase_address 0x0001f980 16 address range 0x0001f980 .. 0x0001f98f is not sector-aligned Command handler execution failed in procedure 'flash' called at file "command.c", line 647 called at file "command.c", line 361 > > flash erase_address pad 0x0001f980 16 Adding extra erase range, 0x0001f800 to 0x0001f97f Adding extra erase range, 0x0001f990 to 0x0001fbff erased address 0x0001f980 (length 16) in 0.095975s (0.163 kb/s) > This addresses what would otherwise be something of a functional regression. An earlier version of the interface had a dangerous problem: it would silently erase data outside the range it was told to erase. Fixing that bug turned up some folk who relied on that unsafe behavior. (The classic problem with interface bugs!) Now they can get that behavior again. If they really need it, just specify "pad". Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Diffstat (limited to 'doc')
-rw-r--r--doc/openocd.texi6
1 files changed, 5 insertions, 1 deletions
diff --git a/doc/openocd.texi b/doc/openocd.texi
index 0eb40b13..3e0b5db7 100644
--- a/doc/openocd.texi
+++ b/doc/openocd.texi
@@ -3841,8 +3841,12 @@ specifies "to the end of the flash bank".
The @var{num} parameter is a value shown by @command{flash banks}.
@end deffn
-@deffn Command {flash erase_address} address length
+@deffn Command {flash erase_address} [@option{pad}] address length
Erase sectors starting at @var{address} for @var{length} bytes.
+Unless @option{pad} is specified, @math{address} must begin a
+flash sector, and @math{address + length - 1} must end a sector.
+Specifying @option{pad} erases extra data at the beginning and/or
+end of the specified region, as needed to erase only full sectors.
The flash bank to use is inferred from the @var{address}, and
the specified length must stay within that bank.
As a special case, when @var{length} is zero and @var{address} is