第三章_环境变量与重要函数malloc.pdfVIP

  • 12
  • 0
  • 约 32页
  • 2017-06-03 发布于湖北
  • 举报
uboot malloc 《 剖析》 第三章 环境变量和重要函数 第三章 环境变量和重要函数malloc 1 相关结构 1.1环境变量结构(include/environment.h) 1 typedef structenvironment_s{ 2 unsignedlong crc; /*crc是u-boot在保存env 的时候加上去的校验头,在第一次启动时一般 crc校验会出 错,这很正常,因为这时 Flash中的数据无效。 */ 3 #ifdefCFG_REDUNDAND_ENVIRONMENT//是否需要标志 前面已经定义 4 unsignedchar flags; /*active/obsoleteflags 激活或者废弃标志*/ 5 #endif 6 unsignedchar data[ENV_SIZE];/*Environmentdata data字段保存实际的环境变量。u-boot 的 env 按 name=value”\0”的方式存储,在所有env的最后以”\0\0”表示整个 env 的结束。新的name=value对总是被添加 到 env 数据块的末尾,当删除一个name=value对时,后面的环境变量将前移,对一个已经存在的环境变量的 修改实际上先删除再插入。*/ 7 }env_t; 1.2板子信息数据结构(/include/asm_arm/u-boot.h) 板子很多重要的参数。类型定义如下: 1 2 typedefstructbd_info{ 3 int bi_baudrate; /* 串口波特率*/ 4 unsignedlongbi_ip_addr; /* IP地址*/ 5 unsignedcharbi_enetaddr[6];/*MA 地址*/ 6 structenvironment_s *bi_env; 7 ulong bi_arch_number;/*uniqueidforthisboard 板子的唯一ID*/ 8 ulong bi_boot_params;/*启动参数*/ 9 struct /*RAM配置*/ 10 { 11 ulongstart; 12 ulongsize; 13 }bi_dram[CONFIG_NR_DRAM_BANKS]; /*在/include/configs/smdk2410.h 中定义 #define CONFIG_NR_DRAM_BANKS 1 /* we have 1 bank of DRAM */*/ 14 }bd_t; 15 1 · · uboot malloc 《 剖析》 第三章 环境变量和重要函数 1.3gd全局数据变量指针,它保存了u-boot运行需要的全局数据 1 typedefstructglobal_data{ 2 bd_t*bd; //boarddatapointor板子数据指针 3 unsignedlongflag

文档评论(0)

1亿VIP精品文档

相关文档