u-boot

typedef struct environment_s {
  uint32_t  crc;    /* CRC32 over data bytes    */
#ifdef CONFIG_SYS_REDUNDAND_ENVIRONMENT
  unsigned char flags;  /* active/obsolete flags    */
#endif
  unsigned char data[ENV_SIZE]; /* Environment data */
} env_t;
  • 前面4字节是crc检验码,冗余备份标志,环境变量;

  • crc校验的大小为环境变量的大小,即ENV_SIZE;

  • 每条环境变量以'\0'结束,整个环境以2个‘\0’结束;

函数env_relocate_spec从flash中获取环境变量。

你可能感兴趣的:(u-boot)