首页 > 系统相关 >linux命令行读写uboot环境变量

linux命令行读写uboot环境变量

时间:2024-09-22 20:50:02浏览次数:12  
标签:uboot io fw flash write env linux main 环境变量

1. fw_printenv & fw_setenv

build,

see: u-boot-2020.04/tools/env/README

cd u-boot-2020.04

make CROSS_COMPILE=arm-linux- envtools

You should then create a symlink from fw_setenv to fw_printenv.

2. test

2.1 read

2.2 write

会自动保存到emmc/flash中

3. config

3.1 emmc

vi /etc/fw_env.config

可以选择保存env的设备和分区,如使用/dev/mmcblk0p7作为env分区

env分区为mmcblk0p7,offset为0,size为1024k(0x100000)

3.2 nor

使用nor mtd4作为env分区

vi /etc/fw_env.config

4. code

4.1 fw_printenv

u-boot-2020.04\tools\env\fw_env_main.c

main -> fw_printenv -> fw_env_open -> flash_io -> open & flash_read -> flash_read_buf -> read ---> emmc/nor flash

4.2 fw_setenv

u-boot-2020.04\tools\env\fw_env_main.c

1)emmc

main -> fw_env_set -> fw_env_flush -> flash_io(O_RDWR) -> open & flash_io_write -> flash_write -> flash_write_buf -> write ---> emmc

2)nor flash

main -> fw_env_set -> fw_env_flush -> flash_io(O_RDWR) -> open & flash_io_write -> flash_write -> flash_write_buf -> ioctl(fd, MEMERASE, &erase) & write ---> nor flash 

标签:uboot,io,fw,flash,write,env,linux,main,环境变量
From: https://blog.csdn.net/u012247418/article/details/142443553

相关文章

  • linux同步策略
    在Linux驱动层,由于多个进程或内核线程可能同时访问共享资源,必须使用同步机制来防止数据竞争和不一致性。同步机制的主要目的是保证多线程或多进程在并发访问共享资源时不发生冲突或数据损坏。Linux提供了多种同步机制来应对不同的并发场景。常见的Linux驱动层同步机制:1.原......
  • linux之进程信号
    目录生活例子--提炼基本结论  信号概念的基本储备 信号处理信号产生信号保存信号处理前提知道信号与信号量没有任何关系就比如老婆和老婆饼一样;生活例子--提炼基本结论1. 比如说平时定闹钟,我今晚十一点睡觉,睡觉之前定个八点的闹钟,那么在闹钟响了在客观上就是闹......
  • Linux 中sed命令实现大小写的转换
     001、大写转换为小写[root@PC1test]#lsa.txt[root@PC1test]#cata.txt##测试数据abcDEFHIKLmnOpqM[root@PC1test]#sed's/[A-Z]/\L&/g'a.txt##所有的大写转换为小写abcdef......
  • Linux 中实现文本中所有的单词的第一个字符大写,其余字符小写
     001、[root@PC1test]#lsa.txt[root@PC1test]#cata.txt##测试数据afdfeDETFDSSFFdefexkmxnd[root@PC1test]#cata.txt|awk'{for(i=1;i<=NF;i++){$i=toupper......
  • Linux内核源码介绍-内核源码树
    建议点击这里查看个人主页上的最新原文作者:陈孝松主页:chenxiaosong.com哔哩哔哩:陈孝松课程:chenxiaosong.com/courses博客:chenxiaosong.com/blog贡献:chenxiaosong.com/contributions邮箱:[email protected]交流群:544216206,点击查看群介绍点......
  • Linux内核文件系统-什么是文件系统
    建议点击这里查看个人主页上的最新原文作者:陈孝松主页:chenxiaosong.com哔哩哔哩:陈孝松课程:chenxiaosong.com/courses博客:chenxiaosong.com/blog贡献:chenxiaosong.com/contributions邮箱:[email protected]交流群:544216206,点击查看群介绍点......
  • 手把手教你用linux安装Gromacs(2024 GPU-CUDA)
    文章目录1.Gromacs介绍2.Gromacs安装一、基础软件1.gcc下载安装2.g++下载安装3.python4.Cmake二、显卡驱动和CUDA安装1.显卡驱动2.CUDA安装3.Gromacs-2024GPU-CUDA安装可能遇到的问题1.错误一原因:解决方法:2.错误二原因:解决方法:3.错误三4.错误四结束语1.G......
  • Linux添加环境变量(gpt生成,实测有用)
    在Linux中添加PATH环境变量,可以通过修改用户的.bashrc、.bash_profile或.profile文件,也可以临时修改当前会话的PATH变量。以下是添加永久性PATH变量的方法:打开你的用户目录下的.bashrc文件:nano~/.bashrc在文件的末尾添加新的PATH内容,例如添加/usr/local/bin:exportPATH=$PA......
  • Linux进程信号(二)
    前文简单介绍了Linux中的信号产生和信号捕捉的初步认识,这一篇文章我们将进一步了解Linux信号中的阻塞信号,并深入理解信号捕捉的具体过程。阻塞信号概念解释在介绍阻塞信号之前,我们需要了解一些信号相关的概念:实际执行信号的处理动作称为信号递达(Delivery)信号从产生带递达之......
  • Linux 7 主机名修改、查看
    使用hostname命令修改主机名,它修改是transient主机名,即临时生效的主机名。直接修改/etc/hostname文件,它瞬时生效,重启后也生效(因为内核会根据它初始化transient主机名)。使用nmtui命令在图形化界面修改主机名。它会直接修改/etc/hostname文件,因此也是瞬时生效+永久生效的。使......