.

Revision:
2:ecbff7f1e453
Parent:
1:dee9fae0c0c4
--- a/ROMSLOT_STM32.cpp	Fri Apr 08 06:47:00 2016 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-// ROMSLOT_STM32.cpp 2016/4/7
-#if defined(TARGET_STM)
-#include "ROMSLOT.h"
-
-bool ROMSLOT::Write(uint32_t addr, const uint8_t buf[], uint32_t size) {
-    MBED_ASSERT(addr%FLASH_PAGE_SIZE == 0);
-    MBED_ASSERT(size%FLASH_PAGE_SIZE == 0);
-    if (memcmp((uint8_t*)addr, buf, size) == 0) { // skip ?
-        return true;
-    }
-    HAL_FLASH_Unlock();
-    bool result = true;
-    for(uint32_t n = 0; n < size; n += sizeof(uint32_t)) {
-        if (n % FLASH_PAGE_SIZE == 0) {
-            FLASH_EraseInitTypeDef Erase;
-            Erase.NbPages = 1;
-            Erase.TypeErase = TYPEERASEDATA_BYTE;
-            Erase.PageAddress = addr + n;
-            uint32_t PageError = 0;
-            HAL_StatusTypeDef status = HAL_FLASHEx_Erase(&Erase, &PageError);
-            MBED_ASSERT(status == HAL_OK);
-            if (status != HAL_OK) {
-                result = false;
-                break;
-            }
-        }
-        uint32_t data = buf[n]|buf[n+1]<<8|buf[n+2]<<16|buf[n+3]<<24;
-        HAL_StatusTypeDef status = HAL_FLASH_Program(TYPEPROGRAM_WORD, addr + n, (uint64_t)data);
-        MBED_ASSERT(status == HAL_OK);
-        if (status != HAL_OK) {
-            result = false;
-            break;
-        }
-    }
-    HAL_FLASH_Lock();
-    return result;
-}
-#endif // TARGET_STM
-