OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4691|回复: 2

关于I.MX 6 Uboot环境变量存放的问题

[复制链接]

2

主题

2

帖子

0

精华

新手入门

积分
13
金钱
13
注册时间
2020-3-8
在线时间
2 小时
发表于 2020-3-17 11:45:16 | 显示全部楼层 |阅读模式
Hi 各位大大

你们好,我是一个linux平台的开发的初学者。目前正在跟着原子哥的教程进行Linux开发。 我使用的是
“正点原子阿尔法 ARM Linux 开发板+7寸屏幕+4G模块”的版本。

我有一个关于Uboot 环境变量的问题。
按照教程的说法
"用于保存修改后的环境变量,一般环境变量是存放在外部 flash中的,uboot启动的时候会将环境变量从 flash读取到 DRAM." page667《【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.2》

那么我的问题是,这个环境变量最开始是怎么烧写进外部Flash里面的? 使用通过MfgTool做系统烧写时写入的么?


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2020-3-18 09:27:38 | 显示全部楼层
本帖最后由 zuozhongkai 于 2020-3-18 09:29 编辑

环境变量一开始是没有烧写到flash里面的,第一次启动uboot,你就会发现uboot输出CRC错误的提示,这是因为uboot去指定的flash地址读取环境变量,发现没有,然后校验错误。这个时候就会使用默认环境变量,也就是uboot里面使用各种宏定义设置的环境变量。然后你再uboot里面使用saveenv命令就会将默认的环境变量保存到外部flash中
回复 支持 反对

使用道具 举报

2

主题

712

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2178
金钱
2178
注册时间
2018-8-27
在线时间
258 小时
发表于 2020-3-18 09:30:40 | 显示全部楼层
本帖最后由 xiaotaotao 于 2020-3-18 09:33 编辑

U-Boot有默认的环境变量,在代码里面用数组定义的,启动的时候会优先读取外部flash中的环境变量,如果外部flash没有存放环境变量,那么就使用代码里边定义好的当我们在u-Boot中使用saveenv命令保存环境变量的时候就会将内存中的环境变量存放外部存储设备的环境变量分区,那么下一次就可以就可以使用外部的了。
森罗万象
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 07:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表