uboot 之环境变量
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 之环境变量相关推荐
- 从bootm 命令讲起/U-boot的环境变量: bootcmd 和bootargs
从bootm 命令讲起 1 找到linux的内核入口 Bootm命令通过读取uImage的头部0×40字节的信息,将uImage定位到正确的地址,同时找到linux的内核入口地址. 这个地方就涉及到u ...
- uboot默认环境变量修改
uboot的默认环境变量决定了系统是通过何种方式启动的,对于定制化的嵌入式系统,uboot的定制化修改也是必要的. uboot有两种修改方式: 1.直接修改源码或者修改uboot配置 2.在uboot ...
- uboot之环境变量
一.环境变量基础知识 1.环境变量的作用 环境变量的最大作用就是在我们不需要改变源代码的情况下,改变程序的执行情况.比如我们的bootdelay时间,通过修改对应的环境变量的值,就可以改变uboot开 ...
- uboot中环境变量的加载、写入过程详解
1.uboot启动中环境变量的加载 1.1.uboot加载环境变量流程分析 (1)首先使用默认的环境变量default_environment[]: (2)然后加载SD卡中env分区的环境变量,校验读 ...
- uboot中环境变量的实现
1.环境变量介绍 uboot中环境变量的作用类似于全局变量,需要某个环境变量的值时调用getenv函数就可以得到.环境变量会指导程序的运行,不必修改代码重新编译,通过修改环境变量就可以改变uboot的 ...
- 如何修改uboot的环境变量env的值来指定uImage的名字
今天继续玩基于uboot的nfs.昨天总算是基本搞清了make zImage和make uImage的区别,那么今天就来实际编译几个玩一玩. 不过,在利用mkimage工具对zImage镜像文件加工完 ...
- uboot的环境变量
注:本文是学习朱老师课程整理的笔记,基于uboot-1.3.4和s5pc11x分析. 环境变量的作用 可以不用修改uboot的源代码,而是通过修改环境变量来影响uboot运行时的一些数据和特性.譬如说 ...
- 嵌入式Linux读写uboot的环境变量 —— fw_printenv 的使用
下载 u-boot-2010.06 官网下载 ftp://ftp.denx.de/pub/u-boot/ 积分多的可以去这里下载,网速会快一点 https://download.csdn.net/do ...
- 提取u-boot fw_env环境变量生成工具
u-boot源码目录tools/env下定义有用来制作u-boot环境变量固件的fwenv工具,虽然可以使用make envtools直接编译生成fwenv,不过在u-boot工程下直接编译生成的fw ...
- 香橙派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 ...
最新文章
- [ExtJS5学习笔记]第五节 使用fontawesome给你的extjs5应用添加字体图标
- 重磅!亚马逊将在2019年全面弃用Oracle数据库
- 从支付宝看大用户规模互联网架构发展
- nusoap php 7,nusoap-用php的NuSoap 访问webservice遇到的问题。
- mysql dos入门_在dos上操作mysql的基本?
- 遇到一个php的错误,php初学者常见的几个错误及解决方法
- 主控芯片测试软件,主控芯片检测工具MyDiskTest的使用教程的详解【图文】
- 计算机显存影响什么,纯干货!显存大小究竟有什么用?
- windows系统安全加固
- Python 爬取QQ音乐个人单曲排行榜
- FPN(Feature Pyramid Networks)学习笔记
- Gym 102028D Keiichi Tsuchiya the Drift King(2018 ICPC 焦作站 D 题) 计算几何
- 如何写好一篇论文——闵老师《论文写作》心得
- 前端工程师简历怎么写才更容易进入面试呢?
- [4G+5G专题-144]: 测试-频谱分析仪工作原理与测试结果分析
- 软考高级 真题 2012年上半年 信息系统项目管理师 论文
- Unity中的AI算法和实现1-Waypoint
- mysql 家谱树查询_GitHub - chenwei/FamilyTreeView: 家谱树绘制Demo
- Java工程师修炼之道! | 送10本书籍
- Unity特效学习笔记——子弹
热门文章
- [uva11174]村民排队 递推+组合数+线性求逆元
- python learning2.py
- 第4章 同步控制 Synchronization ----同步机制的摘要
- HDU 3401 Trade dp+单调队列优化
- factory工厂模式之工厂方法FactoryMethod
- 点聚-weboffice 6.0 (一)
- 今天8月5号 2011-08-05
- 11款极酷Chrome浏览器插件推荐
- TP-Link C2和C20i产品出现命令注入、DoS等多个漏洞 绿盟科技发布安全威胁通告
- 传输层的端口与TCP标志中的URG和PSH位