uboot和系统移植----------8、uboot环境变量 的源码分析

本文详细介绍了U-Boot环境变量的基础知识,包括它与全局变量的区别、作用和优先级。此外,文章还解析了printenv、setenv和saveenv三个关键命令的源码,阐述了环境变量在DDR、SD卡中的存储和工作方式,以及如何通过这些命令操作和保存环境变量。最后,讨论了getenv和getenv_r函数的差异和使用场景。
摘要由CSDN通过智能技术生成

一、uboot的环境变量基础

0、环境变量和全局变量的区别

(1)全局变量是在程序运行的时候,才会被定义,才会生成对应的实体。而且程序重新运行,全局变量就会被再次定义,不会累积到下一次运行

(2)环境变量,会一直存在,而且在程序重新运行的时候,也不会被重新定义,上一次的值会累积下来

1、环境变量的作用

(1)让我们可以不用修改uboot的源代码,而是通过修改环境变量来影响uboot运行时的一些数据和特性。 (不需要重新修改代码,不需要重新编译)

举例:通过修改 bootdelay 环境变量可以更改系统开机自动启动时倒数的秒数

2、环境变量的优先级

(1)uboot代码当中有一个值,环境变量中也有一个值。

(2)uboot程序实际运行时规则是:如果环境变量为空则使用代码中的值;如果环境变量不为空则优先使用环境变量对应的值

(3)为什么要设计这种优先级的机制呢?(提高效率)

譬如 machid(机器码)。uboot中在 x210_sd

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

想文艺一点的程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值