target/cortex_m: remove dependency from jtag queue 12/4912/3
authorAntonio Borneo <borneo.antonio@gmail.com>
Wed, 13 Feb 2019 16:15:58 +0000 (17:15 +0100)
committerTomas Vanek <vanekt@fbl.cz>
Thu, 6 Jun 2019 15:33:30 +0000 (16:33 +0100)
commit02cd1e39cc710a6a6592486238c15f7b42c7d21c
tree39fab9f0baec4827cdc38ec740a9381bddc9a632
parente5177a5ad455ac0c353fd6bb48ff288912168428
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 <borneo.antonio@gmail.com>
Reviewed-on: http://openocd.zylin.com/4912
Tested-by: jenkins
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
src/target/cortex_m.c