target/cortex_m: fix cortex_m reset_config help and check for syntax error

Remove option 'srst' which is not recognized from on-line help and texi.
Check parameter and return syntax error if wrong option is entered.

Change-Id: I87daa423a9f53193a0b015080594820b933628f5
Signed-off-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-on: http://openocd.zylin.com/4795
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
log_output
Tomas Vanek 2018-12-07 17:51:49 +01:00
parent cb5c6477f5
commit 936dc7cbd9
2 changed files with 11 additions and 8 deletions

View File

@ -3458,6 +3458,7 @@ How long (in milliseconds) OpenOCD should wait after deasserting
nTRST (active-low JTAG TAP reset) before starting new JTAG operations. nTRST (active-low JTAG TAP reset) before starting new JTAG operations.
@end deffn @end deffn
@anchor {reset_config}
@deffn {Command} reset_config mode_flag ... @deffn {Command} reset_config mode_flag ...
This command displays or modifies the reset configuration This command displays or modifies the reset configuration
of your combination of JTAG board and target in target of your combination of JTAG board and target in target
@ -8994,13 +8995,13 @@ must also be explicitly enabled.
This finishes by listing the current vector catch configuration. This finishes by listing the current vector catch configuration.
@end deffn @end deffn
@deffn Command {cortex_m reset_config} (@option{srst}|@option{sysresetreq}|@option{vectreset}) @deffn Command {cortex_m reset_config} (@option{sysresetreq}|@option{vectreset})
Control reset handling. The default @option{srst} is to use srst if fitted, Control reset handling if hardware srst is not fitted
otherwise fallback to @option{vectreset}. @xref{reset_config,,reset_config}.
@itemize @minus @itemize @minus
@item @option{srst} use hardware srst if fitted otherwise fallback to @option{vectreset}. @item @option{sysresetreq} use AIRCR SYSRESETREQ to reset system.
@item @option{sysresetreq} use NVIC SYSRESETREQ to reset system. @item @option{vectreset} use AIRCR VECTRESET to reset system (default).
@item @option{vectreset} use NVIC VECTRESET to reset system.
@end itemize @end itemize
Using @option{vectreset} is a safe option for Cortex-M3, M4 and M7 cores. Using @option{vectreset} is a safe option for Cortex-M3, M4 and M7 cores.

View File

@ -2436,7 +2436,9 @@ COMMAND_HANDLER(handle_cortex_m_reset_config_command)
LOG_WARNING("VECTRESET is not supported on your Cortex-M core!"); LOG_WARNING("VECTRESET is not supported on your Cortex-M core!");
else else
cortex_m->soft_reset_config = CORTEX_M_RESET_VECTRESET; cortex_m->soft_reset_config = CORTEX_M_RESET_VECTRESET;
}
} else
return ERROR_COMMAND_SYNTAX_ERROR;
} }
switch (cortex_m->soft_reset_config) { switch (cortex_m->soft_reset_config) {
@ -2478,7 +2480,7 @@ static const struct command_registration cortex_m_exec_command_handlers[] = {
.handler = handle_cortex_m_reset_config_command, .handler = handle_cortex_m_reset_config_command,
.mode = COMMAND_ANY, .mode = COMMAND_ANY,
.help = "configure software reset handling", .help = "configure software reset handling",
.usage = "['srst'|'sysresetreq'|'vectreset']", .usage = "['sysresetreq'|'vectreset']",
}, },
COMMAND_REGISTRATION_DONE COMMAND_REGISTRATION_DONE
}; };