From a7e1e89916d0c6acdb11c9988dbf1ac35e1f1e9c Mon Sep 17 00:00:00 2001 From: armink Date: Mon, 7 Aug 2017 21:49:26 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E3=80=90=E5=A2=9E=E5=8A=A0=E3=80=91?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E5=AD=98=E6=94=BE=E5=9C=A8=E7=BA=BF=E5=8D=87?= =?UTF-8?q?=E7=BA=A7=E5=9B=BA=E4=BB=B6=E5=8C=BA=E9=A6=96=E5=9C=B0=E5=9D=80?= =?UTF-8?q?=E7=9A=84=E6=96=B9=E6=B3=95=EF=BC=9Aef=5Fget=5Fbak=5Fapp=5Fstar?= =?UTF-8?q?t=5Faddr=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: armink --- easyflash/inc/easyflash.h | 3 ++- easyflash/src/ef_iap.c | 12 +++++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/easyflash/inc/easyflash.h b/easyflash/inc/easyflash.h index 42b37e5..393bda4 100644 --- a/easyflash/inc/easyflash.h +++ b/easyflash/inc/easyflash.h @@ -67,7 +67,7 @@ if (!(EXPR)) \ while (1); \ } /* EasyFlash software version number */ -#define EF_SW_VERSION "3.0.0" +#define EF_SW_VERSION "3.0.1" typedef struct _ef_env{ char *key; @@ -116,6 +116,7 @@ EfErrCode ef_write_data_to_bak(uint8_t *data, size_t size, size_t *cur_size, size_t total_size); EfErrCode ef_copy_app_from_bak(uint32_t user_app_addr, size_t app_size); EfErrCode ef_copy_bl_from_bak(uint32_t bl_addr, size_t bl_size); +uint32_t ef_get_bak_app_start_addr(void); #endif #ifdef EF_USING_LOG diff --git a/easyflash/src/ef_iap.c b/easyflash/src/ef_iap.c index adbef5f..b36bbd4 100644 --- a/easyflash/src/ef_iap.c +++ b/easyflash/src/ef_iap.c @@ -33,8 +33,6 @@ /* IAP section backup application section start address in flash */ static uint32_t bak_app_start_addr = 0; -static uint32_t get_bak_app_start_addr(void); - /** * Flash IAP function initialize. * @@ -66,7 +64,7 @@ EfErrCode ef_iap_init(void) { EfErrCode ef_erase_bak_app(size_t app_size) { EfErrCode result = EF_NO_ERR; - result = ef_port_erase(get_bak_app_start_addr(), app_size); + result = ef_port_erase(ef_get_bak_app_start_addr(), app_size); switch (result) { case EF_NO_ERR: { EF_INFO("Erased backup area application OK.\n"); @@ -156,7 +154,7 @@ EfErrCode ef_write_data_to_bak(uint8_t *data, size_t size, size_t *cur_size, size = total_size - *cur_size; } - result = ef_port_write(get_bak_app_start_addr() + *cur_size, (uint32_t *) data, size); + result = ef_port_write(ef_get_bak_app_start_addr() + *cur_size, (uint32_t *) data, size); switch (result) { case EF_NO_ERR: { *cur_size += size; @@ -190,7 +188,7 @@ EfErrCode ef_copy_app_from_bak(uint32_t user_app_addr, size_t app_size) { /* cycle copy data */ for (cur_size = 0; cur_size < app_size; cur_size += sizeof(buff)) { app_cur_addr = user_app_addr + cur_size; - bak_cur_addr = get_bak_app_start_addr() + cur_size; + bak_cur_addr = ef_get_bak_app_start_addr() + cur_size; ef_port_read(bak_cur_addr, buff, sizeof(buff)); result = ef_port_write(app_cur_addr, buff, sizeof(buff)); if (result != EF_NO_ERR) { @@ -230,7 +228,7 @@ EfErrCode ef_copy_bl_from_bak(uint32_t bl_addr, size_t bl_size) { /* cycle copy data by 32bytes buffer */ for (cur_size = 0; cur_size < bl_size; cur_size += sizeof(buff)) { bl_cur_addr = bl_addr + cur_size; - bak_cur_addr = get_bak_app_start_addr() + cur_size; + bak_cur_addr = ef_get_bak_app_start_addr() + cur_size; ef_port_read(bak_cur_addr, buff, sizeof(buff)); result = ef_port_write(bl_cur_addr, buff, sizeof(buff)); if (result != EF_NO_ERR) { @@ -257,7 +255,7 @@ EfErrCode ef_copy_bl_from_bak(uint32_t bl_addr, size_t bl_size) { * * @return size */ -static uint32_t get_bak_app_start_addr(void) { +uint32_t ef_get_bak_app_start_addr(void) { return bak_app_start_addr; }