linux在filesystem应用层修改uboot环境变量(fw_setenv工具)

本文介绍了如何在Linux文件系统层使用fw_setenv工具修改U-Boot环境变量,特别是在海思平台上。通过编译和配置fw_env.h文件,然后交叉编译fw_printenv和fw_setenv工具,可以实现对U-Boot环境变量的修改,以避免对底层uboot造成破坏。最后,文章展示了如何测试和验证环境变量的设置是否成功。
摘要由CSDN通过智能技术生成

一、基本说明

linux在文件系统层一般情况下是不允许修改uboot相关的环境参数的,因为一旦操作不慎就可能导致板子卡在uboot层起不来。另一个,linux在文件系统层的操作,实际上也是对(nand/nor/spi等)flash的操作,但是这个操作过程由于linux的封装保护,使得我们只能间接地去操作flash,但如果我们想直接操作底层uboot的一些配置,也有办法,但这得借助一个工具:fw_setenv(也叫fw_printenv)。fw_setenv工具在各个平台都是可以用的,但是需要根据不同的平台去交叉编译,本文的开发平台是海思,仅供大家参考。

二、要修改的文件

编译fw_setenv工具只用修改一个文件:fw_env.h

1. fw_env.h文件路径
海思平台下是这个:
…/work/HisiSDK/Hi3531A_SDK_V1.0.5.0/osdrv/opensource/uboot/u-boot-2010.06/tools/env


2. 修改fw_env.h内容
这里主要是根据你需要的环境变量去配置,但其中的CONFIG_BOOTCOMMANDCONFIG_BOOTARGS等几个宏必须要有,因为这个文件的作用是如果你在filesystem层对uboot进行修改操作失败了,那么出于对uboot的保护,底层会初始化uboot的相关环境变量,而这些初始化的变量就是来自于该文件。

//#define CONFIG_FILE "/etc/fw_env.config"

#define DEVICE1_N
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值