# HG changeset patch # User nickg # Date 1225792935 0 # Node ID ea9df9d39af9bc978b3d90d0f37c6a4554c2eb46 # Parent 07fc475e1c2847161bacc9efc6083c5ba20aea57 * src/stm32_flash.c: Fixed detection on early silicon. diff --git a/packages/devs/flash/cortexm/stm32/current/ChangeLog b/packages/devs/flash/cortexm/stm32/current/ChangeLog --- 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 + + * src/stm32_flash.c: + Fixed detection on early silicon. + 2008-10-07 Nick Garnett * cdl/flash_stm32.cdl: diff --git a/packages/devs/flash/cortexm/stm32/current/src/stm32_flash.c b/packages/devs/flash/cortexm/stm32/current/src/stm32_flash.c --- 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;