在uboot下修改环境变量需要注意什么?

在uboot的终端下修改环境变量,需要注意一定的格式,否则的话很容易出现环境变量修改不成功或者修改错误等问题。
一、注意修改的格式

1、修改时不可加 “=” 号。
以修改uboot下的bootcmd为例:

// 错误示范1:
setenv bootcmd = movi read kernel 30008000; movi read rootfs 30B00000 300000; bootm 30008000

这样会出现报错 illegal character ‘=’ in variable name “bootcmd=movi”。

2、修改时,如果一个环境变量由多个命令构成,需要 ; 把各个命令分开,并且把总的用 ‘ ’ 括起来。

// 错误示范2:
setenv bootcmd movi read kernel 30008000; movi read rootfs 30B00000 300000; bootm 30008000

3、所以,综上两个不正确的书写,正确的设置应该为:

// 正确示范:
setenv bootcmd 'movi read kernel 30008000; movi read rootfs 30B00000 300000; bootm 30008000'

二、注意修改的内容
还是以bootcmd为例子,我们知道,当uboot倒数3秒以后就会自动执行bootcmd环境变量指定的内容。但是,本人曾经遇过一个问题,就是明明我的kernel镜像没有问题并且烧录到我的板载的iNAND中的kernel分区了,在倒数3秒以后,却出现 ERROR: can’t get kernel image! 我真的是崩溃,后来经过排查才发现我的bootcmd设置错误了。我设置的kernel的分区信息表跟uboot里面的分区信息表不对应,所以出现了这个错误,这也是我修改环境变量的内容时出现的一个问题,所以,以后大家在修改的时候要先想想内容符不符合,有没错误再设置,否则就会出现像我这样的问题了。

发布了24 篇原创文章 · 获赞 27 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/gyyu32g/article/details/78460376