flash/nor/stellaris: allow to recover a locked device that can't be examined
Change-Id: I28536184053e2d1ba906620e728f7fad6ba39f0a Reported-by: Ed Beroset <beroset@mindspring.com> Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/2552 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-by: Ed Beroset <beroset@ieee.org>__archive__
parent
5aa08f7851
commit
571db89aa1
|
@ -5480,12 +5480,12 @@ standard @command{flash erase_address} command.}
|
|||
flash bank $_FLASHNAME stellaris 0 0 0 0 $_TARGETNAME
|
||||
@end example
|
||||
|
||||
@deffn Command {stellaris recover bank_id}
|
||||
Performs the @emph{Recovering a "Locked" Device} procedure to
|
||||
restore the flash specified by @var{bank_id} and its associated
|
||||
nonvolatile registers to their factory default values (erased).
|
||||
This is the only way to remove flash protection or re-enable
|
||||
debugging if that capability has been disabled.
|
||||
@deffn Command {stellaris recover}
|
||||
Performs the @emph{Recovering a "Locked" Device} procedure to restore
|
||||
the flash and its associated nonvolatile registers to their factory
|
||||
default values (erased). This is the only way to remove flash
|
||||
protection or re-enable debugging if that capability has been
|
||||
disabled.
|
||||
|
||||
Note that the final "power cycle the chip" step in this procedure
|
||||
must be performed by hand, since OpenOCD can't do it.
|
||||
|
|
|
@ -1359,12 +1359,12 @@ COMMAND_HANDLER(stellaris_handle_recover_command)
|
|||
struct flash_bank *bank;
|
||||
int retval;
|
||||
|
||||
if (CMD_ARGC < 1)
|
||||
if (CMD_ARGC != 0)
|
||||
return ERROR_COMMAND_SYNTAX_ERROR;
|
||||
|
||||
retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
|
||||
if (retval != ERROR_OK)
|
||||
return retval;
|
||||
bank = get_flash_bank_by_num_noprobe(0);
|
||||
if (!bank)
|
||||
return ERROR_FAIL;
|
||||
|
||||
/* REVISIT ... it may be worth sanity checking that the AP is
|
||||
* inactive before we start. ARM documents that switching a DP's
|
||||
|
@ -1425,7 +1425,7 @@ static const struct command_registration stellaris_exec_command_handlers[] = {
|
|||
.name = "recover",
|
||||
.handler = stellaris_handle_recover_command,
|
||||
.mode = COMMAND_EXEC,
|
||||
.usage = "bank_id",
|
||||
.usage = "",
|
||||
.help = "recover (and erase) locked device",
|
||||
},
|
||||
COMMAND_REGISTRATION_DONE
|
||||
|
|
Loading…
Reference in New Issue