env_init, /* initialize environment */ common/env_nand.c 中
env_init在多个函数内都有函数体的定义,比如env_nand.c env_flash.c env_dataflash.c等文件中
但在文件的头部都会用一个预编译将整个文件包围起来
如在env_nand.c中就有
#if defined(CFG_ENV_IS_IN_NAND) /* Environment is in Nand Flash */
若在include/configs/smdk2410.h中定义了CFG_ENV_IS_IN_NAND,则说明一些环境变量存储在nand中
这里env_init如下
1 int env_init(void)
2 {
3 gd->env_addr = (ulong)&default_environment[0];
4 gd->env_valid = 1;
5 return (0);
6 }
|
gd->env_addr 获取代码中默认环境变量数组
default_environment
的地址,
其在common/env_common.c中定义如下
uchar default_environment[] = {
…… ……
#if defined(CONFIG_BAUDRATE) && (CONFIG_BAUDRATE >= 0)
"baudrate=" MK_STR(CONFIG_BAUDRATE) "\0"
#endif
#ifdef CONFIG_LOADS_ECHO
"loads_echo=" MK_STR(CONFIG_LOADS_ECHO) "\0"
#endif
…… ……
"\0"
};
|
阅读(2861) | 评论(0) | 转发(0) |