uboot的环境变量

环境变量的作用

环境变量影响uboot的运行,决定uboot的一些特性;例如uboot开机自启的倒计时就是由bootdelay环境决定的。

环境变量的优先级

在没有定义环境变量的时候,uboot就会使用代码中给的默认的环境变量值。如果有定义了环境变量就会优先使用定义的环境变量。
例如机器码,在(我用的版本)uboot中没有定义板子的环境变量的机器码,所以当你启动内核的时候,就回去校验内核中中机器码和代码中默认给的机器码,内核启动;对比,在uboot中定义一个machid环境变量,设置他的值(和内核的机器码不一样),在启动内核,启动失败,因为他优先使用了环境变量,检验对不上就会启动失败。

默认的环境变量

在common/env_common.c

/************************************************************************
 * Default settings to be used when no valid environment is found
 */
#define XMK_STR(x)	#x
#define MK_STR(x)	XMK_STR(x)

#if defined(CONFIG_S3C6410) || defined(CONFIG_S3C6430) || defined(CONFIG_S5P6440) || defined(CONFIG_S5PC100) || defined(CONFIG_S5PC110) || defined(CONFIG_S5P6442)
uchar default_environment[CFG_ENV_SIZE] = {
   
#else
uchar default_environment[] = {
   
#endif
#ifdef	CONFIG_BOOTARGS
	"bootargs="	CONFIG_BOOTARGS			"\0"
#endif
#ifdef	CONFIG_BOOTCOMMAND
	"bootcmd="	CONFIG_BOOTCOMMAND		"\0"
#endif
#if 0	/* for fast booting */
	"verify="		MK_STR(no)					"\0"
#endif
#ifdef	CONFIG_MTDPARTITION
	"mtdpart="	CONFIG_MTDPARTITION		"\0"
#endif
#ifdef	CONFIG_RAMBOOTCOMMAND
	"ramboot="	CONFIG_RAMBOOTCOMMAND		"\0"
#endif
#ifdef	CONFIG_NFSBOOTCOMMAND
	"nfsboot="	CONFIG_NFSBOOTCOMMAND		"\0"
#endif
#if defined(CONFIG_BOOTDELAY) && (CONFIG_BOOTDELAY >= 0
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值