diff options
author | Spencer Oliver <spen@spen-soft.co.uk> | 2012-07-12 12:25:10 +0100 |
---|---|---|
committer | Freddie Chopin <freddie.chopin@gmail.com> | 2012-07-30 06:26:23 +0000 |
commit | 531fbf0ef25e75884f2ade2acafcf010cb3d7d2a (patch) | |
tree | ea4df1d4856501251b9dadb80b4ccdead36841ef | |
parent | fe583e78c264156544e1797979afb63f2962d109 (diff) |
flash: stm32l handle flash size read failure
Rather than failing if the flash size reg cannot be read lets assume
we have the max flash size fitted.
It is quite common on early ST silicon to not correct support this register.
Change-Id: Ife058d60ae0027faad2c929ebd5b7fe2ef27234d
Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
Reviewed-on: http://openocd.zylin.com/743
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>
-rw-r--r-- | src/flash/nor/stm32lx.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/flash/nor/stm32lx.c b/src/flash/nor/stm32lx.c index 716517b1..38631440 100644 --- a/src/flash/nor/stm32lx.c +++ b/src/flash/nor/stm32lx.c @@ -476,8 +476,11 @@ static int stm32lx_probe(struct flash_bank *bank) /* get flash size from target. */ retval = target_read_u16(target, F_SIZE, &flash_size_in_kb); - if (retval != ERROR_OK) - return retval; + if (retval != ERROR_OK) { + LOG_WARNING("failed reading flash size, default to max target family"); + /* failed reading flash size, default to max target family */ + flash_size_in_kb = 0xffff; + } if ((device_id & 0xfff) == 0x416) { /* check for early silicon */ |