u-boot - environment - read&write

Read

在u-boot初始化的时候,会读取环境变量。

board_init_r() -> init_sequence_r() -> initr_env() ->
env_relocate() -> env_relocate_spec() -> read_env()

缺省值

如果在存储设备指定的地址处读不到环境变量,那么就会使用缺省的环境变量default_environment,如同CONFIG_ENV_IS_NOWHERE。

在include/env_default.h中定义了default_environment,注意到其格式:key=value之间用一个0x00分隔;整个有效数据部分的最后是两个0x00。

修改与保存

在uboot的交互模式下,或者kernel启动阶段,都可以调用saveenv()或set_default_env()来修改和保存环境变量。

几个命令

env

这个命令类似有busybox,下面包括了多个子命令。如 env default -a 用于将所有环境变量都设置成缺省值。

env -> do_env()
env default -> do_env_default() -> set_default_env()
-a: all

saveenv

将当前(修改过的)环境变量保存到存储设备中,这个函数的实现是和实际使用的存储设备有关。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值