]> www.infradead.org Git - users/borneoa/openocd-next.git/commit
target: cortex_m: fix polling for target kept under reset
authorAntonio Borneo <borneo.antonio@gmail.com>
Mon, 15 Jul 2024 09:56:36 +0000 (11:56 +0200)
committerAntonio Borneo <borneo.antonio@gmail.com>
Sat, 2 Nov 2024 20:59:48 +0000 (20:59 +0000)
commit3ce0962f2c525595bcbd0bd5da73673e236fc42d
treec17c6e8566b4aa87adda67bfedde3fb485bf491c
parent7214c8be46f749f210e00d334c30883bd73cca03
target: cortex_m: fix polling for target kept under reset

In multi-target SoC not all the targets are running simultaneously
and some target could be powered off or kept under reset.
Commit 4892e32294c6 ("target/cortex_m: allow poll quickly get out
of TARGET_RESET state") does not considers the case of a target
that is kept in reset and expects the target to change state from
TARGET_RESET immediately.
This causes OpenOCD to log continuously:
Info : [stm32mp15x.cm4] external reset detected
Info : [stm32mp15x.cm4] external reset detected
Info : [stm32mp15x.cm4] external reset detected

Read again dhcsr to detect the 'stable' reset status and quit,
waiting for next poll to re-check the target's status.

Change-Id: Ic66029b988404a1599bb99bc66d4a8845b8b02c6
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Fixes: 4892e32294c6 ("target/cortex_m: allow poll quickly get out of TARGET_RESET state")
Reviewed-on: https://review.openocd.org/c/openocd/+/8399
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
Tested-by: jenkins
src/target/cortex_m.c