IMX6ULL移植篇-uboot源码主要文件说明

news2024/11/26 0:34:39

一.  uboot 源码分析前提

由于 uboot 会使用到一些经过编译才会生成的文件,因此,我们在分析 uboot的时候,需要先编译一下 uboot 源码工程。

这里所用的开发板是 nand-flash 版本。

本文学习续上一篇文章,如下:

IMX6ULL移植篇-uboot源码主要目录说明_凌肖战的博客-CSDN博客

二.  uboot 源码主要文件说明

1.  .config 文件

当我们执行make xxx_defconfig以后就会生成 .config文件,此文件保存了详细的 uboot 配置信息。

可以看出 .config 文件中都是以 CONFIG_ 开始的配置项,这些配置项就是 Makefile 中的
变量,因此后面都跟有相应的值, uboot 的顶层 Makefile 或子 Makefile 会调用这些变量值。
.config文件 中会有大量的变量值为‘y ’,这些为‘y ’的变量一般用于控制某项功能是否使能,为
y ’的话就表示功能使能。

2. .u-boot.xxx_cmd 文件

u-boot.xxx_cmd 是一系列的文件,这些文件都是编译生成的,都是一些命令文件。

都是一些命令文件,比如文件 .u-boot.bin.cmd ,看名字应该是和 u-boot.bin 有关的。

例如,.u-boot.bin.cmd文件内容如下:
cmd_u-boot.bin := cp u-boot-nodtb.bin u-boot.bin
.u-boot.bin.cmd 里面定义了一个变量: cmd_u-boot.bin ,其值为“ cp u-boot-nodtb.bin u-boot.bin ”,即 重命名为 u-boot.bin 。也就是说 u-boot.bin 来源于文件 u-boot-nodtb.bin

文 件 .u-boot-nodtb.bin.cmd 就 是 用 于 生 成 uboot.nodtb.bin 。而 .u-boot-nodtb.bin.cmd文件内如下:
cmd_u-boot-nodtb.bin := arm-linux-gnueabihf-objcopy --gap-fill=0xff  -j .text -j .secure_text -j .rodata -j .hash -j .data -j .got -j .got.plt -j .u_boot_list -j .rel.dyn -O binary  u-boot u-boot-nodtb.bin
这里用到了 arm-linux-gnueabihf-objcopy ,使用 objcopy ELF 格式的 u-boot 文件转换为二
进制的 u-boot-nodtb.bin 文件。 以此类推。

3.  Makefile 文件

uboot 源码根目录下的 Makefile 是顶层 Makefile。 Makefile 是支持嵌套的,也就是顶层 Makefile 可以调用子目录 中的 Makefile 文件。如下就是 顶层 Makefile 文件:

4.  顶层 README 文件 

顶层README,非常重要。建议大家阅读!!!

README 文件描述了 uboot 的详细信息,包括 uboot 该如何编译、uboot 中各文件夹的含义、相应的命令等等。建议大家详细的阅读此文件,可以进一步增加对 uboot 的认识。

5. u-boot.xxx 文件

u-boot.xxx 同样也是一系列文件,是 uboot 编译后生成的一系列文件。
这些文件的含义如下:
u-boot :编译出来的 ELF 格式的 uboot 镜像文件。
u-boot.bin :编译出来的二进制格式的 uboot 可执行镜像文件,即编译出来带ELF信息的 uboot可执行文件。
u-boot.cfg uboot 的另外一种配置文件。
u-boot.imx u-boot.bin 添加头部信息以后的文件, NXP CPU 专用文件。
u-boot.lds :链接脚本。
u-boot.map uboot 映射文件,通过查看此文件可以知道某个函数被链接到了哪个地址上。
u-boot.srec S-Record 格式的镜像文件。
u-boot.sym uboot 符号文件。
u-boot-nodtb.bin :和 u-boot.bin 一样, u-boot.bin 就是 u-boot-nodtb.bin 的复制文件。

6.  System.map 文件

System.map 文件是内存映射表。编译 uboot后生成的文件。

7.  Kconfig 文件

Kconfig 文件 与图形界面有关的。uboot可以通过图形界面来配置。

8.  imx6ull_alientek_nand.sh

imx6ull_alientek_nand.sh文件,是之前我们编译 uboot 创建的配置脚本文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/980288.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

zabbix 自动发现

哈喽大家好,我是咸鱼 昨天老大让我初始化一批服务器,吭哧吭哧弄完之后需要把这批机器添加到 zabbix 上去 但是我发现一台一台添加效率好低,而且特别繁琐,当时我没有想出有什么好的方法,今天上网搜了一下相关资料之后…

Android Automotive概述

Android开发者的新赛道 在智能手机行业初兴起时,包括BAT在内许多传统互联网企业都曾布局手机产业,但是随着手机市场的基本定型,造车似乎又成了各大资本下一个追逐的方向。百度、小米先后宣布造车,阿里巴巴则与上汽集团共同投资创…

Camunda 7.x 系列【48】候选用户和用户组

有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 2.7.9 本系列Camunda 版本 7.19.0 源码地址:https://gitee.com/pearl-organization/camunda-study-demo 文章目录 1. 概述2. 案例演示1. 概述 在之前的文档中,用户任务都是基于的Assignee设置固定的执行人…

车联网仿真工具Veins学习1

准备条件 假如你是一个小白,先找到相关的参考资料(已根据上一篇博客安装好Veins),主要是官方文档和相关的博客,官方提供了一个example,我找到的资料如下: Frequently Asked Questions (FAQ) O…

C++ - 多态的实现原理

前言 本博客主要介绍C 当中 多态语法的实现原理,如果有对 多态语法 有疑问的,请看下面这篇博客: 探究,为什么多态的条件是那样的(虚函数表) 首先,调用虚函数必须是 父类的 指针或 引用&#xf…

py脚本解决ArcGIS Server服务内存过大的问题

在一台服务器上,使用ArcGIS Server发布地图服务,但是地图服务较多,在发布之后,服务器的内存持续处在95%上下的高位状态,导致服务器运行状态不稳定,经常需要重新启动。重新启动后重新进入这种内存高位的陷阱…

并行和并发的区别

从操作系统的角度来看,线程是CPU分配的最小单位。 并行就是同一时刻,两个线程都在执行。这就要求有两个CPU去分别执行两个线程。并发就是同一时刻,只有一个执行,但是一个时间段内,两个线程都执行了。并发的实现依赖于…

立晶半导体Cubic Lattice Inc 专攻音频ADC,音频DAC,音频CODEC,音频CLASS D等CL7016

概述: CL7016是一款高保真USB Type-C兼容音频编解码芯片。可以录制和回放有24比特音乐和声音。内置回放通路信号动态压缩, 最大42db录音通路增益,PDM数字麦克风,和立体声无需电容耳机驱动放大器。 5V单电源供电。兼容USB 2.0全速工…

三分法,伟大无比的二分法扩展,本节带部分数论问题。

一,引导简介 简单的来看三分法实际就是二分法的另一种扩展,可以完全的看成二分法,我们介绍几个特殊的点,才能使用这个解法来进行相关的算法求解:求解单调性改变的点,在本个区间中只有一个导数为 0 的点&…

基于qt软件的网上聊天室软件

1.服务器: 1).功能: 用于创建一个客户端,通过文本编辑器来获得端口号,根据获得的端口号创建服务器,等待客户端连接 创建成功会提示服务器创建成功 在收到客户端发送的信息时,把这条信息发送给其他所有客户端,实现群…

力扣(LeetCode)算法_C++——有效的数独

请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图) …

vue3集成jsoneditor

一、背景 之前在做录制回放平台的时候,需要前端展示子调用信息,子调用是一个请求列表数组结构,jsoneditor对数组的默认展示结构是[0].[1].[2]..的方式,为了达到如下的效果,必须用到 onNodeName的钩子函数,…

使用Minifilter过滤驱动保护文件

代码如下: 可以保护拓展名.com文件不被删除、重命名、读写、可执行。#include <ntifs.h> #include <ntstrsafe.h> #include <fltKernel.h> static UNICODE_STRING ProtectedExtention RTL_CONSTANT_STRING(L"com"); //卸载回调 PFLT_FILTER gFile…

如何写一个可以找到工作的简历不至于太烂

简历是自己的一个很重要的标签&#xff0c;是获得面试的敲门砖&#xff0c;简历是要时常更新的&#xff0c;否则会错过一些机会。简历也是给自己的正反馈。 方法 ● 模仿&#xff0c;例如Boss&#xff0c;拉钩下面都给你一个案例模板供你参考&#xff0c;但是我觉得其实参考性…

基础算法--二分查找

二分查找 算法原理 1. 简介 故事分享&#x1f3ec;&#xff1a; 有一天小明到图书馆借了 N 本书&#xff0c;出图书馆的时候&#xff0c;警报响了&#xff0c;于是保安把小明拦下&#xff0c;要检查一下哪本书没有登记出借。小明正准备把每一本书在报警器下过一下&#xff0…

C语言基本知识

基础 第一个函数 argc代表参数个数argument count。argv代表参数value&#xff0c;第一个为放的是文件名&#xff0c;后面是传入的参数。 编译过程 预处&#xff1a;gcc -E hello.c -o hello.i编译&#xff1a;gcc -S hello.c(.i) -o hello.s汇编&#xff1a;gcc -c hello.c…

2023年09月数据库流行度最新排名

点击查看最新数据库流行度最新排名&#xff08;每月更新&#xff09; 2023年09月数据库流行度最新排名 TOP DB顶级数据库索引是通过分析在谷歌上搜索数据库名称的频率来创建的 一个数据库被搜索的次数越多&#xff0c;这个数据库就被认为越受欢迎。这是一个领先指标。原始数…

C语言“牵手”1688商品详情数据方法,1688商品详情API接口,1688API申请指南

1688是中国最大的自营式电商企业&#xff0c;在线销售计算机、手机及其它数码产品、家电、汽车配件、服装与鞋类、奢侈品、家居与家庭用品、化妆品与其它个人护理用品、食品与营养品、书籍与其它媒体产品、母婴用品与玩具、体育与健身器材以及虚拟商品等。 1688平台的商品详情…

route命令小结

Destination: 如果不满足该列的任何一个ip,则走默认的default Gataway: *是 不指定gateway.有的系统是0.0.0.0,与*意义相同 Genmask: 0.0.0.0是不指定掩码, 255.255.0.0掩码了16位,172.17 开头的ip,会走这个网关 255.255.255.0掩码了16位,192.168.0 开头的ip都会走这个网关 当是…

基于Alexnet深度学习网络的人员口罩识别算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 file_path1 test\mask\;% 图像文件夹路径 %获取测试图像文件夹下所有jpg格式的图像文件…