stm32x: allow flash probe on a running target
authorAndreas Fritiofson <andreas.fritiofson@gmail.com>
Fri, 16 Apr 2010 23:03:39 +0000 (01:03 +0200)
committerØyvind Harboe <oyvind.harboe@zylin.com>
Tue, 20 Apr 2010 06:55:48 +0000 (08:55 +0200)
If the flash has not yet been probed and GDB connects while the target is
running, the flash probe triggered by GDB's memory map read will fail. In
that case the returned memory map will be empty, causing a subsequent load
from within GDB to fail. There's not much you can do from GDB to recover,
other than a restart; a 'mon reset init' and manual 'mon flash probe' won't
help since GDB has already made up its mind about the memory map.

It seems there's no reason to require the target to be halted when probing
the flash. Remove the check to let a valid memory map be provided to GDB
even when connecting to a running target.

Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
src/flash/nor/stm32x.c

index 845d589de0da1b2fb2ad83cf889d8517d22ffdd8..818c474c76ec2defa197ed180b4cb0373674c937 100644 (file)
@@ -676,12 +676,6 @@ static int stm32x_probe(struct flash_bank *bank)
        uint32_t device_id;
        int page_size;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
-               LOG_ERROR("Target not halted");
-               return ERROR_TARGET_NOT_HALTED;
-       }
-
        stm32x_info->probed = 0;
 
        /* read stm32 device id register */