This patch slightly enhances the behaviour of the standard erase and protect 
functions. After applying this patch, defining -1 as the last sector tells 
OpenOCD to protect or erase the entire flash bank. The relevant part in the 
OpenOCD has been updated.

Signed-off-by: Johnny Halfmoon <jhalfmoon at milksnot.com>

---
 
 doc/openocd.texi  |    6 ++++--
 src/flash/flash.c |    6 ++++++
 2 files changed, 10 insertions(+), 2 deletions(-)

Index: trunk/src/flash/flash.c
===================================================================
--- trunk/src/flash/flash.c     (revision 2736)
+++ trunk/src/flash/flash.c     (working copy)
@@ -577,6 +577,9 @@
                        return ERROR_COMMAND_SYNTAX_ERROR;
                }
 
+               if (last < 0)
+                       last = p->num_sectors - 1;
+
                if ((retval = flash_driver_erase(p, first, last)) == ERROR_OK)
                {
                        if ((retval = duration_stop_measure(&duration, 
&duration_text)) != ERROR_OK)
@@ -621,6 +624,9 @@
                        return ERROR_COMMAND_SYNTAX_ERROR;
                }
 
+               if (last < 0)
+                       last = p->num_sectors - 1;
+
                retval = flash_driver_protect(p, set, first, last);
                if (retval == ERROR_OK)
                {
Index: trunk/doc/openocd.texi
===================================================================
--- trunk/doc/openocd.texi      (revision 2736)
+++ trunk/doc/openocd.texi      (working copy)
@@ -3071,7 +3071,8 @@
 @anchor{flash erase_sector}
 @deffn Command {flash erase_sector} num first last
 Erase sectors in bank @var{num}, starting at sector @var{first} up to and 
including
-...@var{last}. Sector numbering starts at 0.
+...@var{last}. Sector numbering starts at 0. Defining a @var{last} sector of 
-1 is
+equivalent to defining (max_sectors-1), i.e. erasing the entire bank.
 The @var{num} parameter is a value shown by @command{flash banks}.
 @end deffn
 
@@ -3144,7 +3145,8 @@
 @anchor{flash protect}
 @deffn Command {flash protect} num first last (on|off)
 Enable (@var{on}) or disable (@var{off}) protection of flash sectors
-...@var{first} to @var{last} of flash bank @var{num}.
+...@var{first} to @var{last} of flash bank @var{num}. Defining a @var{last} 
sector of -1 is
+equivalent to defining (max_sectors-1), i.e. protecting the entire bank.
 The @var{num} parameter is a value shown by @command{flash banks}.
 @end deffn
 




_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to