diff options
author | Tomas Vanek <vanekt@fbl.cz> | 2018-12-07 17:00:12 +0100 |
---|---|---|
committer | Tomas Vanek <vanekt@fbl.cz> | 2018-12-19 13:14:09 +0000 |
commit | cb5c6477f53c352d5997f84fae6d527d9f2557e7 (patch) | |
tree | 163ab32b8ff97cd84de53e73de9f2d6e68e78a7d /doc | |
parent | 651998e33771bdad56873e3e70bd875104ca1d12 (diff) | |
download | riscv-openocd-cb5c6477f53c352d5997f84fae6d527d9f2557e7.zip riscv-openocd-cb5c6477f53c352d5997f84fae6d527d9f2557e7.tar.gz riscv-openocd-cb5c6477f53c352d5997f84fae6d527d9f2557e7.tar.bz2 |
target/cortex_m: do not use VECTRESET on Cortex-M0, M0+ and M1
Cortex-M0, M0+ and M1 do not support VECTRESET bit in AIRCR.
Without this change the 'reset' command silently fails if VECTRESET
is requested.
Detect these cores, show warning if VECTRESET is about to use
and use SYSRESETREQ instead.
Change-Id: Ief174373e3ef0e6b287c57911c0aca4dfa8209f2
Signed-off-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-on: http://openocd.zylin.com/4794
Tested-by: jenkins
Reviewed-by: Jean-Christian de Rivaz <jcamdr70@gmail.com>
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
Diffstat (limited to 'doc')
-rw-r--r-- | doc/openocd.texi | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/doc/openocd.texi b/doc/openocd.texi index 11ee93e..bc24aed 100644 --- a/doc/openocd.texi +++ b/doc/openocd.texi @@ -9002,11 +9002,15 @@ otherwise fallback to @option{vectreset}. @item @option{sysresetreq} use NVIC SYSRESETREQ to reset system. @item @option{vectreset} use NVIC VECTRESET to reset system. @end itemize -Using @option{vectreset} is a safe option for all current Cortex-M cores. + +Using @option{vectreset} is a safe option for Cortex-M3, M4 and M7 cores. This however has the disadvantage of only resetting the core, all peripherals -are unaffected. A solution would be to use a @code{reset-init} event handler to manually reset -the peripherals. +are unaffected. A solution would be to use a @code{reset-init} event handler +to manually reset the peripherals. @xref{targetevents,,Target Events}. + +Cortex-M0, M0+ and M1 do not support @option{vectreset}, use @option{sysresetreq} +instead. @end deffn @subsection ARMv8-A specific commands |