Should we include this fix for 0.3? Confirmation that it works and looks OK would be a point in favor. Hint! Hint! ;-)
-- Øyvind Harboe http://www.zylin.com/zy1000.html ARM7 ARM9 ARM11 XScale Cortex JTAG debugger and flash programmer
From e37076a747bc1f1a709ec9feb57c9492dc18b062 Mon Sep 17 00:00:00 2001 From: =?utf-8?q?=C3=98yvind=20Harboe?= <oyvind.har...@zylin.com> Date: Tue, 3 Nov 2009 15:38:09 +0100 Subject: [PATCH] target: 5 second timeout/megabyte for CRC check, 20 sec minimum MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit There was a fixed 20 second timeout which is too little for large, slow timeout checks. Potential improvement would be to do CRC in smaller chunks with smaller timeout. That way failure would be detected sooner(tricky...). Signed-off-by: Øyvind Harboe <oyvind.har...@zylin.com> --- src/target/arm7_9_common.c | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletions(-) diff --git a/src/target/arm7_9_common.c b/src/target/arm7_9_common.c index 2b064f2..520fc72 100644 --- a/src/target/arm7_9_common.c +++ b/src/target/arm7_9_common.c @@ -2821,8 +2821,15 @@ int arm7_9_checksum_memory(struct target_s *target, uint32_t address, uint32_t c buf_set_u32(reg_params[0].value, 0, 32, address); buf_set_u32(reg_params[1].value, 0, 32, count); + /* 5 second timeout/megabyte */ + int timeout = 5000 * (1 + (count / (1024*1024))); + if (timeout < 5000) + { + timeout = 20000; /* minimum 20 second timeout */ + } + if ((retval = target_run_algorithm(target, 0, NULL, 2, reg_params, - crc_algorithm->address, crc_algorithm->address + (sizeof(arm7_9_crc_code) - 8), 20000, &armv4_5_info)) != ERROR_OK) + crc_algorithm->address, crc_algorithm->address + (sizeof(arm7_9_crc_code) - 8), timeout, &armv4_5_info)) != ERROR_OK) { LOG_ERROR("error executing arm7_9 crc algorithm"); destroy_reg_param(®_params[0]); -- 1.6.3.3
_______________________________________________ Openocd-development mailing list Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development