From 31128657c1ad3a8640d04669fb247a9dafb8d4ef Mon Sep 17 00:00:00 2001 From: armink Date: Tue, 9 Jun 2015 17:38:56 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E3=80=90=E4=BF=AE=E6=94=B9=E3=80=91?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E9=85=8D=E7=BD=AE=EF=BC=8C=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E5=85=B3=E9=97=AD=E6=97=A5=E5=BF=97=E5=AD=98=E5=82=A8=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=E3=80=82=202=E3=80=81=E3=80=90=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E3=80=91=E5=90=84=E5=B9=B3=E5=8F=B0=E4=B8=8B=E7=9A=84Demo?= =?UTF-8?q?=EF=BC=8C=E4=BB=A5=E9=80=82=E5=90=88=E6=9C=80=E6=96=B0=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: armink --- .../stm32f10x/non_os/components/easyflash/port/flash_port.c | 6 ++++-- demo/stm32f10x/rtt/components/easyflash/port/flash_port.c | 6 ++++-- demo/stm32f4xx/components/easyflash/port/flash_port.c | 6 ++++-- easyflash/inc/flash.h | 2 +- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/demo/stm32f10x/non_os/components/easyflash/port/flash_port.c b/demo/stm32f10x/non_os/components/easyflash/port/flash_port.c index dac081a..ac85463 100644 --- a/demo/stm32f10x/non_os/components/easyflash/port/flash_port.c +++ b/demo/stm32f10x/non_os/components/easyflash/port/flash_port.c @@ -66,11 +66,12 @@ static char log_buf[128]; * @param erase_min_size the minimum size of Flash erasure * @param default_env default ENV set for user * @param default_env_size default ENV size + * @param log_total_size saved log area size * * @return result */ FlashErrCode flash_port_init(uint32_t *env_addr, size_t *env_total_size, size_t *erase_min_size, - flash_env const **default_env, size_t *default_env_size) { + flash_env const **default_env, size_t *default_env_size, size_t *log_size) { FlashErrCode result = FLASH_NO_ERR; FLASH_ASSERT(FLASH_USER_SETTING_ENV_SIZE % 4 == 0); @@ -98,7 +99,6 @@ FlashErrCode flash_port_init(uint32_t *env_addr, size_t *env_total_size, size_t FlashErrCode flash_read(uint32_t addr, uint32_t *buf, size_t size) { FlashErrCode result = FLASH_NO_ERR; - FLASH_ASSERT(size >= 4); FLASH_ASSERT(size % 4 == 0); /*copy from flash to ram */ @@ -162,6 +162,8 @@ FlashErrCode flash_write(uint32_t addr, const uint32_t *buf, size_t size) { FlashErrCode result = FLASH_NO_ERR; size_t i; uint32_t read_data; + + FLASH_ASSERT(size % 4 == 0); FLASH_Unlock(); FLASH_ClearFlag(FLASH_FLAG_BSY | FLASH_FLAG_EOP | FLASH_FLAG_PGERR | FLASH_FLAG_WRPRTERR); diff --git a/demo/stm32f10x/rtt/components/easyflash/port/flash_port.c b/demo/stm32f10x/rtt/components/easyflash/port/flash_port.c index 382a61a..d0bd85a 100644 --- a/demo/stm32f10x/rtt/components/easyflash/port/flash_port.c +++ b/demo/stm32f10x/rtt/components/easyflash/port/flash_port.c @@ -66,11 +66,12 @@ static struct rt_semaphore env_cache_lock; * @param erase_min_size the minimum size of Flash erasure * @param default_env default ENV set for user * @param default_env_size default ENV size + * @param log_total_size saved log area size * * @return result */ FlashErrCode flash_port_init(uint32_t *env_addr, size_t *env_total_size, size_t *erase_min_size, - flash_env const **default_env, size_t *default_env_size) { + flash_env const **default_env, size_t *default_env_size, size_t *log_size) { FlashErrCode result = FLASH_NO_ERR; FLASH_ASSERT(FLASH_USER_SETTING_ENV_SIZE % 4 == 0); @@ -101,7 +102,6 @@ FlashErrCode flash_port_init(uint32_t *env_addr, size_t *env_total_size, size_t FlashErrCode flash_read(uint32_t addr, uint32_t *buf, size_t size) { FlashErrCode result = FLASH_NO_ERR; - FLASH_ASSERT(size >= 4); FLASH_ASSERT(size % 4 == 0); /*copy from flash to ram */ @@ -166,6 +166,8 @@ FlashErrCode flash_write(uint32_t addr, const uint32_t *buf, size_t size) { size_t i; uint32_t read_data; + FLASH_ASSERT(size % 4 == 0); + FLASH_Unlock(); FLASH_ClearFlag(FLASH_FLAG_BSY | FLASH_FLAG_EOP | FLASH_FLAG_PGERR | FLASH_FLAG_WRPRTERR); for (i = 0; i < size; i += 4, buf++, addr += 4) { diff --git a/demo/stm32f4xx/components/easyflash/port/flash_port.c b/demo/stm32f4xx/components/easyflash/port/flash_port.c index 2afbd32..00584ad 100644 --- a/demo/stm32f4xx/components/easyflash/port/flash_port.c +++ b/demo/stm32f4xx/components/easyflash/port/flash_port.c @@ -88,11 +88,12 @@ static uint32_t stm32_get_sector_size(uint32_t sector); * @param erase_min_size the minimum size of Flash erasure * @param default_env default ENV set for user * @param default_env_size default ENV size + * @param log_total_size saved log area size * * @return result */ FlashErrCode flash_port_init(uint32_t *env_addr, size_t *env_total_size, size_t *erase_min_size, - flash_env const **default_env, size_t *default_env_size) { + flash_env const **default_env, size_t *default_env_size, size_t *log_size) { FlashErrCode result = FLASH_NO_ERR; FLASH_ASSERT(FLASH_USER_SETTING_ENV_SIZE % 4 == 0); @@ -123,7 +124,6 @@ FlashErrCode flash_port_init(uint32_t *env_addr, size_t *env_total_size, size_t FlashErrCode flash_read(uint32_t addr, uint32_t *buf, size_t size) { FlashErrCode result = FLASH_NO_ERR; - FLASH_ASSERT(size >= 4); FLASH_ASSERT(size % 4 == 0); /*copy from flash to ram */ @@ -187,6 +187,8 @@ FlashErrCode flash_write(uint32_t addr, const uint32_t *buf, size_t size) { size_t i; uint32_t read_data; + FLASH_ASSERT(size % 4 == 0); + FLASH_Unlock(); FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR | FLASH_FLAG_PGAERR | FLASH_FLAG_PGPERR | FLASH_FLAG_PGSERR); diff --git a/easyflash/inc/flash.h b/easyflash/inc/flash.h index 5a2b78d..ba88fbf 100644 --- a/easyflash/inc/flash.h +++ b/easyflash/inc/flash.h @@ -37,7 +37,7 @@ extern "C" { /* using IAP function */ #define FLASH_USING_IAP /* using save log function */ -#define FLASH_USING_LOG +/* #define FLASH_USING_LOG */ /* using CRC32 check when load environment variable from Flash */ #define FLASH_ENV_USING_CRC_CHECK /* the user setting size of ENV, must be word alignment */