uboot常见环境变量

uboot常见环境变量

1、环境变量

​ 可以理解为全局变量,和全局变量不同的地方在于环境变量可以保存下来,下次开机使用最后的变量。全局变量在每次开机时都会是初始值。使用print命令打印出来。

2、环境变量如何参与程序运行

	环境变量在flash中有一份,在DDR中也有一份。uboot开机时,一次性从flash中读取全部环境变量到DDR中作为环境变量的初始值。使用过程中都是使用DDR中的这一份。用户使用setenv命令修改的就是DDR中的那一份环境变量然后通过saveenv命令就是将DDR中的环境变量重新写入flash,下一次开机时DDR从flash中读取到的才能是最新的。

3、自动运行倒数时间:bootdelay

4、网络设置相关环境变量

​ (1)ipaddr:开发板的本地IP地址

​ (2)servenrip:开发板通过tftp指令去tftp服务器下载东西时,tftp服务器的IP地址

​ (3)gatewayip:开发板的本地网关地址

​ (4)netmask:子网掩码

​ (5)ethaddr:开发板的本地网卡的MAC地址

5、自动运行命令设置:bootcmd

​ (1)uboot启动后会开机自动倒数bootdelay秒,如果没人按下回车打断启动,则uboot会自动执行启动命令。实现自动启动内核实际上就是在内部执行了bootcmd这个环境变量的值所对应的命令集,movi和bootm命令。

​ (2)bootcmd=movi read kernel 30008000; bootm 30008000

​ movi read kernel 30008000 // 从iNand的kernel分区读取到DDR的30008000位置处。

​ bootm 30008000 // 从30008000位置处启动内核

​ (3)小实验

​ set bootcmd printenv // 将bootcmd环境变量修改为printenv,开机后就会去执行print命令打印环境变量。

​ set bootcmd ‘movi read kernel 30008000; bootm 30008000’

​ // 设置回原来的命令,注意两个命令之间又分号,所以需要‘’单引号引起来。

6、uboot给kennel传参:bootargs

​ (1)linux内核接收uboot给他传递启动参数,在启动参数的指导完成启动过程。

​ (2)在uboot的环境变量中设置bootargs,然后bootm命令启动内核时会自动将bootargs传给内核。

​ (3)bootargs=console=ttySAC2,115200 root=/dev/mmcblk0p2 rw init=/linuxrc rootfstype=ext3

​ console=ttySAC2,115200 控制台使用串口2,波特率115200

​ root=/dev/mmcblk0p2 rw 根文件系统使用SD卡端口0设备(iNand)第二分区,rw表示可读可写

​ init=/linuxrc linux的进程1(init进程)的路径

​ rootfstype=ext3 根文件系统的类型是ext3

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值