diff options
Diffstat (limited to 'tools/envcrc.c')
| -rw-r--r-- | tools/envcrc.c | 11 | 
1 files changed, 10 insertions, 1 deletions
| diff --git a/tools/envcrc.c b/tools/envcrc.c index d1e84b3b6..c8c50d719 100644 --- a/tools/envcrc.c +++ b/tools/envcrc.c @@ -51,6 +51,10 @@  # if defined(CONFIG_ENV_ADDR_REDUND) && !defined(CONFIG_ENV_SIZE_REDUND)  #  define CONFIG_ENV_SIZE_REDUND	CONFIG_ENV_SIZE  # endif +# if (CONFIG_ENV_ADDR >= CONFIG_SYS_MONITOR_BASE) && \ +     ((CONFIG_ENV_ADDR + CONFIG_ENV_SIZE) <= (CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN)) +#  define ENV_IS_EMBEDDED	1 +# endif  # if defined(CONFIG_ENV_ADDR_REDUND) || defined(CONFIG_ENV_OFFSET_REDUND)  #  define CONFIG_SYS_REDUNDAND_ENVIRONMENT	1  # endif @@ -67,11 +71,14 @@  extern uint32_t crc32 (uint32_t, const unsigned char *, unsigned int); +#ifdef	ENV_IS_EMBEDDED  extern unsigned int env_size;  extern unsigned char environment; +#endif	/* ENV_IS_EMBEDDED */  int main (int argc, char **argv)  { +#ifdef	ENV_IS_EMBEDDED  	unsigned char pad = 0x00;  	uint32_t crc;  	unsigned char *envptr = &environment, @@ -126,6 +133,8 @@ int main (int argc, char **argv)  	} else {  		printf ("0x%08X\n", crc);  	} - +#else +	printf ("0\n"); +#endif  	return EXIT_SUCCESS;  } |