码迷,mamicode.com
首页 > 其他好文 > 详细

uboot环境变量分析

时间:2016-01-04 22:21:43      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:

uboot的环境变量在程序的运行和调试过程中都发挥着比较重要的作用。

一、环境变量

可以理解为全局变量,但是他的生命周期比全局变量要长,当程序已经结束运行时,全局变量就会消亡,但是环境变量在下次上电运行时,依旧可以保持为上设置的值。

二、代码分析

1、分析uboot命令setenv

举例:输入命令"setenv bootdelay 5"即可完成环境变量修改

代码位置:在uboot/common/cmd_nvedit.c中的do_setenv函数。

在do_setenv函数中又调用了_do_setenv函数,关于这个函数的源代码就不附了,关于程序里面的核心框架我整理了一下,具体如下:

技术分享

  输入了命令后,首先进行一些的命令提取和判断,这里就直接跳过。然后在DDR中遍历环境变量,查找是否存在输入的环境变量,如果存在就将该环境变量在内存中直接删除,后面的环境变量向前移动,最后再尾部重新添加;如果不存在,就在尾部创建一个新的环境变量。

  这里只是摘取了uboot命令中的setenv来分析,重点是为了学习uboot的这种配置环境变量方法。

 

uboot环境变量分析

标签:

原文地址:http://www.cnblogs.com/zou107/p/5100255.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!