在u-boot的移植过程中,常提到环境变量这一概念,下面就自己对环境变量的理解做个小的总结
1.环境变量在flash中保存的位置
在include/configs/my2440.h文件中定义了如下宏
//添加环境变量保存到Nand的宏
#define CONFIG_ENV_IS_IN_NAND 1
#define CONFIG_ENV_OFFSET 0x40000 //将环境变量保存到nand中的0x40000位置
#define CONFIG_ENV_SIZE 0x20000 //环境变量大小,必须为flash块大小的整数倍,否则会将擦除整个块
2.u-boot中与环境变量有关的命令
u-boot中使用print和printenv命令打印环境变量时,打印的是RAM的环境变量。对环境变量的修改(如setenv)都是在RAM中进行的。为了使RAM和flash中环境变量保持一致,我们需要使用saveenv命令更新flash中的环境变量.
3.u-boot在启动的时候会将存储在flash中的环境变量重新定位到RAM中,这样可以快速访问。
如果在flash中设置环境变量,那么,在u-boot启动时ÿ