changeset 2581:ea9df9d39af9

* src/stm32_flash.c: Fixed detection on early silicon.
author nickg
date Tue, 04 Nov 2008 10:02:15 +0000
parents 07fc475e1c28
children 4b00ee508a41
files packages/devs/flash/cortexm/stm32/current/ChangeLog packages/devs/flash/cortexm/stm32/current/src/stm32_flash.c
diffstat 2 files changed, 10 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/packages/devs/flash/cortexm/stm32/current/ChangeLog
+++ b/packages/devs/flash/cortexm/stm32/current/ChangeLog
@@ -1,3 +1,8 @@
+2008-11-04  Simon Kallweit  <simon.kallweit@intefo.ch>
+
+	* src/stm32_flash.c:
+	Fixed detection on early silicon.
+
 2008-10-07  Nick Garnett  <nickg@ecoscentric.com>
 
 	* cdl/flash_stm32.cdl:
--- a/packages/devs/flash/cortexm/stm32/current/src/stm32_flash.c
+++ b/packages/devs/flash/cortexm/stm32/current/src/stm32_flash.c
@@ -118,19 +118,21 @@ stm32_flash_init(struct cyg_flash_dev* d
 
     stf_diag("sig %08x id %08x\n", sig, id );
     
-    flash_size = 1024*CYGHWR_HAL_STM32_DEV_SIG_FSIZE(sig);
+    flash_size = CYGHWR_HAL_STM32_DEV_SIG_FSIZE(sig);
 
     if( CYGHWR_HAL_STM32_MCU_ID_DEV(id) == CYGHWR_HAL_STM32_MCU_ID_DEV_MEDIUM )
     {
         block_size = 1024;
-        if( flash_size == 0xFFFF ) flash_size = 128*1024;
+        if( flash_size == 0xFFFF ) flash_size = 128;
     }
     else if( CYGHWR_HAL_STM32_MCU_ID_DEV(id) == CYGHWR_HAL_STM32_MCU_ID_DEV_HIGH )
     {
         block_size = 2048;
-        if( flash_size == 0xFFFF ) flash_size = 512*1024;
+        if( flash_size == 0xFFFF ) flash_size = 512;
     }
 
+    flash_size *= 1024;
+    
     stm32_dev->block_info[0].blocks             = flash_size/block_size;
     stm32_dev->block_info[0].block_size         = block_size;