From 02cd1e39cc710a6a6592486238c15f7b42c7d21c Mon Sep 17 00:00:00 2001 From: Antonio Borneo Date: Wed, 13 Feb 2019 17:15:58 +0100 Subject: [PATCH 1/1] target/cortex_m: remove dependency from jtag queue Since the first commit 09883194f867 that introduced cortex_m, the code has a delay of 50ms after srst has been asserted. The specific delay is implemented through the JTAG_SLEEP command sent in the jtag queue. To remove the dependency from the jtag queue, replace the delay with a transport independent function. In case of jtag transport, this change keeps the same behaviour only if the jtag queue has been flushed before the delay. This does not happen if the call to dap_dp_init(), few lines above, fails while calling a dap_queue_dp_{read,write}(); in this case the jtag queue will be flushed later, after the delay, while in the original code the delay would follow the flushing of the commands already queued. Anyway, this different behavior would only happen in case of DAP already not responsive so anticipating the delay in such error condition is not supposed to add further problems. Change-Id: If15978246764e4266b10e707d86c03e5ed907de7 Signed-off-by: Antonio Borneo Reviewed-on: http://openocd.zylin.com/4912 Tested-by: jenkins Reviewed-by: Tomas Vanek --- src/target/cortex_m.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/target/cortex_m.c b/src/target/cortex_m.c index ce3ab09c01..e2960391c2 100644 --- a/src/target/cortex_m.c +++ b/src/target/cortex_m.c @@ -1198,7 +1198,7 @@ static int cortex_m_assert_reset(struct target *target) } target->state = TARGET_RESET; - jtag_add_sleep(50000); + jtag_sleep(50000); register_cache_invalidate(cortex_m->armv7m.arm.core_cache); -- 2.30.2