1、【增加】开启、关闭IAP及ENV功能的宏定义,提高软件可裁剪性。

Signed-off-by: armink <armink.ztl@gmail.com>
pull/1/head
armink 11 years ago
parent 19a307cb4a
commit 5c58381988

@ -26,6 +26,10 @@
#include "types.h"
/* using ENV function */
#define FLASH_USING_ENV
/* using IAP function */
#define FLASH_USING_IAP
/* 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 */
@ -46,7 +50,7 @@ if (!(EXPR)) \
while (1); \
}
/* EasyFlash software version number */
#define FLASH_SW_VERSION "1.04.20"
#define FLASH_SW_VERSION "1.04.23"
typedef struct _flash_env{
char *key;
@ -66,6 +70,7 @@ typedef enum {
/* flash.c */
FlashErrCode flash_init(void);
#ifdef FLASH_USING_ENV
/* flash_env.c flash_env_wl.c */
void flash_load_env(void);
void flash_print_env(void);
@ -75,7 +80,9 @@ FlashErrCode flash_save_env(void);
FlashErrCode flash_env_set_default(void);
size_t flash_get_env_total_size(void);
size_t flash_get_env_write_bytes(void);
#endif
#ifdef FLASH_USING_IAP
/* flash_iap.c */
FlashErrCode flash_erase_bak_app(size_t app_size);
FlashErrCode flash_erase_user_app(uint32_t user_app_addr, size_t user_app_size);
@ -84,6 +91,7 @@ FlashErrCode flash_write_data_to_bak(uint8_t *data, size_t size, size_t *cur_siz
size_t total_size);
FlashErrCode flash_copy_app_from_bak(uint32_t user_app_addr, size_t app_size);
FlashErrCode flash_copy_bl_from_bak(uint32_t bl_addr, size_t bl_size);
#endif
/* flash_port.c */
FlashErrCode flash_read(uint32_t addr, uint32_t *buf, size_t size);

@ -64,14 +64,18 @@ FlashErrCode flash_init(void) {
result = flash_port_init(&env_start_addr, &env_total_size, &erase_min_size, &default_env_set,
&default_env_set_size);
#ifdef FLASH_USING_ENV
if (result == FLASH_NO_ERR) {
result = flash_env_init(env_start_addr, env_total_size, erase_min_size, default_env_set,
default_env_set_size);
}
#endif
#ifdef FLASH_USING_IAP
if (result == FLASH_NO_ERR) {
result = flash_iap_init(env_start_addr + flash_get_env_total_size());
}
#endif
if (result == FLASH_NO_ERR) {
FLASH_DEBUG("EasyFlash V%s is initialize success.\n", FLASH_SW_VERSION);

@ -24,6 +24,8 @@
#include <string.h>
#include <stdlib.h>
#ifdef FLASH_USING_ENV
#ifdef FLASH_ENV_USING_NORMAL_MODE
/**
@ -204,7 +206,7 @@ size_t flash_get_env_total_size(void) {
*
* @return write bytes
*/
uint32_t flash_get_env_write_bytes(void) {
size_t flash_get_env_write_bytes(void) {
return get_env_end_addr() - env_start_addr;
}
@ -569,4 +571,6 @@ static bool_t env_crc_is_ok(void) {
}
#endif
#endif
#endif /* FLASH_ENV_USING_NORMAL_MODE */
#endif /* FLASH_USING_ENV */

@ -24,6 +24,8 @@
#include <string.h>
#include <stdlib.h>
#ifdef FLASH_USING_ENV
#ifdef FLASH_ENV_USING_WEAR_LEVELING_MODE
/**
@ -241,7 +243,7 @@ static size_t get_env_user_used_size(void) {
*
* @return write bytes
*/
uint32_t flash_get_env_write_bytes(void) {
size_t flash_get_env_write_bytes(void) {
return get_env_detail_end_addr() - get_env_start_addr();
}
@ -700,4 +702,7 @@ static FlashErrCode save_cur_using_data_addr(uint32_t cur_data_addr) {
}
return result;
}
#endif
#endif /* FLASH_ENV_USING_WEAR_LEVELING_MODE */
#endif /* FLASH_USING_ENV */

@ -22,6 +22,8 @@
#include "flash.h"
#ifdef FLASH_USING_IAP
/* IAP section backup application section start address in flash */
static uint32_t bak_app_start_addr = NULL;
@ -248,3 +250,5 @@ static uint32_t get_bak_app_start_addr(void) {
FLASH_ASSERT(bak_app_start_addr);
return bak_app_start_addr;
}
#endif /* FLASH_USING_IAP */

@ -20,7 +20,7 @@
* Created on: 2015-01-14
*/
#include "types.h"
#include "flash.h"
static const uint32_t crc32_table[] =
{

Loading…
Cancel
Save