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; }