From: Spencer Oliver Date: Mon, 10 May 2010 13:14:57 +0000 (+0100) Subject: armv7m: 20 second timeout/megabyte for CRC check X-Git-Tag: v0.5.0-rc1~709 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=2ae192699f5aaa911a874b85669fc803e4a29804;p=openocd armv7m: 20 second timeout/megabyte for CRC check There was a fixed 20 second timeout which is too little for large, slow timeout checks. Signed-off-by: Spencer Oliver --- diff --git a/src/target/armv7m.c b/src/target/armv7m.c index 83335a58..bd5aa147 100644 --- a/src/target/armv7m.c +++ b/src/target/armv7m.c @@ -615,8 +615,10 @@ int armv7m_checksum_memory(struct target *target, buf_set_u32(reg_params[0].value, 0, 32, address); buf_set_u32(reg_params[1].value, 0, 32, count); + int timeout = 20000 * (1 + (count / (1024 * 1024))); + if ((retval = target_run_algorithm(target, 0, NULL, 2, reg_params, - crc_algorithm->address, crc_algorithm->address + (sizeof(cortex_m3_crc_code)-6), 20000, &armv7m_info)) != ERROR_OK) + crc_algorithm->address, crc_algorithm->address + (sizeof(cortex_m3_crc_code)-6), timeout, &armv7m_info)) != ERROR_OK) { LOG_ERROR("error executing cortex_m3 crc algorithm"); destroy_reg_param(®_params[0]);