diff options
Diffstat (limited to 'src/target')
-rw-r--r-- | src/target/cortex_swjdp.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/target/cortex_swjdp.c b/src/target/cortex_swjdp.c index 91367fce..e368cfd8 100644 --- a/src/target/cortex_swjdp.c +++ b/src/target/cortex_swjdp.c @@ -175,7 +175,6 @@ int scan_inout_check_u32(swjdp_common_t *swjdp, u8 instr, u8 reg_addr, u8 RnW, u int swjdp_transaction_endcheck(swjdp_common_t *swjdp) { int retval; - int waitcount = 0; u32 ctrlstat; keep_alive(); @@ -199,14 +198,14 @@ int swjdp_transaction_endcheck(swjdp_common_t *swjdp) swjdp->ack = swjdp->ack & 0x7; + long long then=timeval_ms(); while (swjdp->ack != 2) { if (swjdp->ack == 1) { - waitcount++; - if (waitcount > 100) + if ((timeval_ms()-then) > 1000) { - LOG_WARNING("Timeout waiting for ACK = OK/FAULT in SWJDP transaction"); + LOG_WARNING("Timeout (1000ms) waiting for ACK = OK/FAULT in SWJDP transaction"); return ERROR_JTAG_DEVICE_ERROR; } } |