diff --git a/common/env_flash.c b/common/env_flash.c index 19e2282..426d01b 100644 --- a/common/env_flash.c +++ b/common/env_flash.c @@ -160,9 +160,11 @@ int env_init(void) #ifdef CMD_SAVEENV int saveenv(void) { + char *saved_data = NULL; int rc = 1; +#if CFG_ENV_SECT_SIZE > CFG_ENV_SIZE ulong up_data = 0; - char *saved_data = NULL; +#endif debug ("Protect off %08lX ... %08lX\n", (ulong)flash_addr, end_addr); diff --git a/include/environment.h b/include/environment.h index fe8465b..bb10964 100644 --- a/include/environment.h +++ b/include/environment.h @@ -47,8 +47,15 @@ # if !defined(CFG_ENV_ADDR_REDUND) && defined(CFG_ENV_OFFSET_REDUND) # define CFG_ENV_ADDR_REDUND (CFG_FLASH_BASE + CFG_ENV_OFFSET_REDUND) # endif -# ifndef CFG_ENV_SIZE -# define CFG_ENV_SIZE CFG_ENV_SECT_SIZE +# if defined(CFG_ENV_SECT_SIZE) || defined(CFG_ENV_SIZE) +# ifndef CFG_ENV_SECT_SIZE +# define CFG_ENV_SECT_SIZE CFG_ENV_SIZE +# endif +# ifndef CFG_ENV_SIZE +# define CFG_ENV_SIZE CFG_ENV_SECT_SIZE +# endif +# else +# error "Both CFG_ENV_SECT_SIZE and CFG_ENV_SIZE undefined" # endif # if defined(CFG_ENV_ADDR_REDUND) && !defined(CFG_ENV_SIZE_REDUND) # define CFG_ENV_SIZE_REDUND CFG_ENV_SIZE