Edit online

环境变量

19 Feb 2024
Read time: 1 minute(s)

本章描述 U-Boot 中关于环境变量的关键内容,以及 ArtInChip 平台中对环境变量的使用方式。 关于 U-Boot 环境变量的更多内容,可以参考官方文档 http://www.denx.de/wiki/DULG/Manual

U-Boot 环境变量是保存在非易失性存储(NVM)上的文本数据块,系统启动时会被拷贝到内存中使用。 环境变量中保存了系统的相关配置信息,使用过程中相关的配置可以被读写。 环境变量的数据存储格式简单,内容通过 CRC32 进行保护:include/env_internal.h
typedef struct environment_s {
    uint32_t        crc;            /* CRC32 over data bytes        */
#ifdef CONFIG_SYS_REDUNDAND_ENVIRONMENT
    unsigned char   flags;          /* active/obsolete flags ENVF_REDUND_ */
#endif
    unsigned char   data[ENV_SIZE]; /* Environment data             */
} env_t;

其中 data 存放的是一系列以 NULL 结束的环境变量字符串。