环境变量
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
结束的环境变量字符串。