env: allow people to force envcrc building
For people who want to manually extract the embedded environment so that it can be manually packed into the final u-boot image, add a config opt to force building of the envcrc tool. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
parent
8875bdb341
commit
c3eb3fe490
5
README
5
README
@ -2563,6 +2563,11 @@ The following definitions that deal with the placement and management
|
||||
of environment data (variable area); in general, we support the
|
||||
following configurations:
|
||||
|
||||
- CONFIG_BUILD_ENVCRC:
|
||||
|
||||
Builds up envcrc with the target environment so that external utils
|
||||
may easily extract it and embed it in final U-Boot images.
|
||||
|
||||
- CONFIG_ENV_IS_IN_FLASH:
|
||||
|
||||
Define this if the environment is in flash memory.
|
||||
|
@ -44,7 +44,7 @@
|
||||
* Generate embedded environment table
|
||||
* inside U-Boot image, if needed.
|
||||
*/
|
||||
#if defined(ENV_IS_EMBEDDED)
|
||||
#if defined(ENV_IS_EMBEDDED) || defined(CONFIG_BUILD_ENVCRC)
|
||||
/*
|
||||
* Only put the environment in it's own section when we are building
|
||||
* U-Boot proper. The host based program "tools/envcrc" does not need
|
||||
|
@ -761,4 +761,9 @@ int cpu_release(int nr, int argc, char * const argv[]);
|
||||
#define ALIGN(x,a) __ALIGN_MASK((x),(typeof(x))(a)-1)
|
||||
#define __ALIGN_MASK(x,mask) (((x)+(mask))&~(mask))
|
||||
|
||||
/* Pull in stuff for the build system */
|
||||
#ifdef DO_DEPS_ONLY
|
||||
# include <environment.h>
|
||||
#endif
|
||||
|
||||
#endif /* __COMMON_H_ */
|
||||
|
@ -60,6 +60,10 @@
|
||||
# endif
|
||||
#endif /* CONFIG_ENV_IS_IN_FLASH */
|
||||
|
||||
#if defined(ENV_IS_EMBEDDED) && !defined(CONFIG_BUILD_ENVCRC)
|
||||
# define CONFIG_BUILD_ENVCRC 1
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SYS_REDUNDAND_ENVIRONMENT
|
||||
# define ENV_HEADER_SIZE (sizeof(uint32_t) + 1)
|
||||
#else
|
||||
@ -71,14 +75,14 @@
|
||||
|
||||
extern uint32_t crc32 (uint32_t, const unsigned char *, unsigned int);
|
||||
|
||||
#ifdef ENV_IS_EMBEDDED
|
||||
#ifdef CONFIG_BUILD_ENVCRC
|
||||
extern unsigned int env_size;
|
||||
extern unsigned char environment;
|
||||
#endif /* ENV_IS_EMBEDDED */
|
||||
#endif /* CONFIG_BUILD_ENVCRC */
|
||||
|
||||
int main (int argc, char **argv)
|
||||
{
|
||||
#ifdef ENV_IS_EMBEDDED
|
||||
#ifdef CONFIG_BUILD_ENVCRC
|
||||
unsigned char pad = 0x00;
|
||||
uint32_t crc;
|
||||
unsigned char *envptr = &environment,
|
||||
|
Loading…
Reference in New Issue
Block a user