u-boot-2016.11 hi3559a

1、初始全局变量gd的env信息
在board_f.c中:
init_sequence_f() -> env_init():
gd->env_addr = (ulong)&default_environment[0];
gd->env_valid = 1;

2、获取env的媒介
env一般和uboot存放再同一个媒介(即启动媒介)
在board_r.c中
init_sequence_r() -> board_init():

gd->bd->bi_boot_params = CFG_BOOT_PARAMS: 存放boot传递给内核的参数地址(物理内存起始地址+0x100)
boot_flag_init(): 获取启动媒介,存放在boot_media变量里

3、初始化媒介(这里使用spi nand flash)
init_sequence_r() -> initr_nand() -> nand_init() -> nand_init_chip():
board_nand_init(): 初始化host控制器,及driver所有操作接口
nand_scan():扫描nand device(hifmc_spi_nand_flash_table添加自己的spi nand 型号)
nand_register():注册nand device

4、获取媒介中的env变所有量
init_sequence_r() -> initr_env() -> env_relocate() -> env_relocate_spec():
根据boot_media变量的媒介信息,函数指针指向env存放的媒介
env_cmn_func = &nand_env_cmn_func;
env_cmn_func->env_relocate_spec();

static struct env_common_func_t nand_env_cmn_func = {
    .saveenv = nand_saveenv,   保存环境变量
    .env_relocate_spec = nand_env_relocate_spec, 从媒介中读出保存好的env所有环境变量
    .env_name_spec = "NAND",
};

uboot 之环境变量相关推荐

  1. 从bootm 命令讲起/U-boot的环境变量: bootcmd 和bootargs

    从bootm 命令讲起 1 找到linux的内核入口 Bootm命令通过读取uImage的头部0×40字节的信息,将uImage定位到正确的地址,同时找到linux的内核入口地址. 这个地方就涉及到u ...

  2. uboot默认环境变量修改

    uboot的默认环境变量决定了系统是通过何种方式启动的,对于定制化的嵌入式系统,uboot的定制化修改也是必要的. uboot有两种修改方式: 1.直接修改源码或者修改uboot配置 2.在uboot ...

  3. uboot之环境变量

    一.环境变量基础知识 1.环境变量的作用 环境变量的最大作用就是在我们不需要改变源代码的情况下,改变程序的执行情况.比如我们的bootdelay时间,通过修改对应的环境变量的值,就可以改变uboot开 ...

  4. uboot中环境变量的加载、写入过程详解

    1.uboot启动中环境变量的加载 1.1.uboot加载环境变量流程分析 (1)首先使用默认的环境变量default_environment[]: (2)然后加载SD卡中env分区的环境变量,校验读 ...

  5. uboot中环境变量的实现

    1.环境变量介绍 uboot中环境变量的作用类似于全局变量,需要某个环境变量的值时调用getenv函数就可以得到.环境变量会指导程序的运行,不必修改代码重新编译,通过修改环境变量就可以改变uboot的 ...

  6. 如何修改uboot的环境变量env的值来指定uImage的名字

    今天继续玩基于uboot的nfs.昨天总算是基本搞清了make zImage和make uImage的区别,那么今天就来实际编译几个玩一玩. 不过,在利用mkimage工具对zImage镜像文件加工完 ...

  7. uboot的环境变量

    注:本文是学习朱老师课程整理的笔记,基于uboot-1.3.4和s5pc11x分析. 环境变量的作用 可以不用修改uboot的源代码,而是通过修改环境变量来影响uboot运行时的一些数据和特性.譬如说 ...

  8. 嵌入式Linux读写uboot的环境变量 —— fw_printenv 的使用

    下载 u-boot-2010.06 官网下载 ftp://ftp.denx.de/pub/u-boot/ 积分多的可以去这里下载,网速会快一点 https://download.csdn.net/do ...

  9. 提取u-boot fw_env环境变量生成工具

    u-boot源码目录tools/env下定义有用来制作u-boot环境变量固件的fwenv工具,虽然可以使用make envtools直接编译生成fwenv,不过在u-boot工程下直接编译生成的fw ...

  10. 香橙派orangepi pc plus h3 uboot保存环境变量失败解决——Unable to use mmc 1:1... Failed (1)

    前言 环境介绍: 1.编译环境 Ubuntu 18.04.5 LTS 2.SDK orangepi Linux 5.4 SDK 3.uboot v2020.04 一.现象 根据<OrangePi ...

最新文章

  1. [ExtJS5学习笔记]第五节 使用fontawesome给你的extjs5应用添加字体图标
  2. 重磅!亚马逊将在2019年全面弃用Oracle数据库
  3. 从支付宝看大用户规模互联网架构发展
  4. nusoap php 7,nusoap-用php的NuSoap 访问webservice遇到的问题。
  5. mysql dos入门_在dos上操作mysql的基本?
  6. 遇到一个php的错误,php初学者常见的几个错误及解决方法
  7. 主控芯片测试软件,主控芯片检测工具MyDiskTest的使用教程的详解【图文】
  8. 计算机显存影响什么,纯干货!显存大小究竟有什么用?
  9. windows系统安全加固
  10. Python 爬取QQ音乐个人单曲排行榜
  11. FPN(Feature Pyramid Networks)学习笔记
  12. Gym 102028D Keiichi Tsuchiya the Drift King(2018 ICPC 焦作站 D 题) 计算几何
  13. 如何写好一篇论文——闵老师《论文写作》心得
  14. 前端工程师简历怎么写才更容易进入面试呢?
  15. [4G+5G专题-144]: 测试-频谱分析仪工作原理与测试结果分析
  16. 软考高级 真题 2012年上半年 信息系统项目管理师 论文
  17. Unity中的AI算法和实现1-Waypoint
  18. mysql 家谱树查询_GitHub - chenwei/FamilyTreeView: 家谱树绘制Demo
  19. Java工程师修炼之道! | 送10本书籍
  20. Unity特效学习笔记——子弹

热门文章

  1. [uva11174]村民排队 递推+组合数+线性求逆元
  2. python learning2.py
  3. 第4章 同步控制 Synchronization ----同步机制的摘要
  4. HDU 3401 Trade dp+单调队列优化
  5. factory工厂模式之工厂方法FactoryMethod
  6. 点聚-weboffice 6.0 (一)
  7. 今天8月5号 2011-08-05
  8. 11款极酷Chrome浏览器插件推荐
  9. TP-Link C2和C20i产品出现命令注入、DoS等多个漏洞 绿盟科技发布安全威胁通告
  10. 传输层的端口与TCP标志中的URG和PSH位