flash: fix incorrect stm32f2x/stm32f4x flash size register
authorSpencer Oliver <spen@spen-soft.co.uk>
Mon, 13 Feb 2012 16:37:22 +0000 (16:37 +0000)
committerPeter Stuge <peter@stuge.se>
Mon, 13 Feb 2012 17:21:24 +0000 (17:21 +0000)
The ref manuals for the stm32f2x (RM0033 Rev4) and stm32f4x (RM0090 rev1)
are unclear to the address of the flash size register (F_ID).

According to contacts @ ST this is the correct address, the manuals will be
updated in due coarse.

Change-Id: If9fb83b3100458d17038cf27c2b23355e1dc5a9e
Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
Reviewed-on: http://openocd.zylin.com/448
Reviewed-by: Peter Stuge <peter@stuge.se>
Tested-by: jenkins
src/flash/nor/stm32f2x.c

index efc3613849eab369703634af0214806cde85c863..367465a056daa7769fbac42cca6a00c70417576d 100644 (file)
@@ -603,7 +603,7 @@ static int stm32x_probe(struct flash_bank *bank)
        LOG_INFO("device id = 0x%08" PRIx32 "", device_id);
 
        /* get flash size from target. */
-       retval = target_read_u16(target, 0x1FFF7A10, &flash_size_in_kb);
+       retval = target_read_u16(target, 0x1FFF7A22, &flash_size_in_kb);
        if (retval != ERROR_OK) {
                LOG_WARNING("failed reading flash size, default to max target family");
                /* failed reading flash size, default to max target family */