Chinaunix首页 | 论坛 | 博客
  • 博客访问: 444624
  • 博文数量: 72
  • 博客积分: 3186
  • 博客等级: 中校
  • 技术积分: 1039
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-07 16:53
文章分类

全部博文(72)

文章存档

2012年(1)

2011年(5)

2010年(10)

2009年(56)

我的朋友

分类: 嵌入式

2009-11-18 15:17:38


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"
};


阅读(2806) | 评论(0) | 转发(0) |
0

上一篇:2. interrupt_init

下一篇:4. init_baudrate

给主人留下些什么吧!~~