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

一.  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 时,我们自己自定义创建的配置脚本文件。作用就是配置并编译 uboot 源码。

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

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

相关文章

Task :app:compileDebugKotlin FAILED

gradle.properties 里面加上 android.enableJetifiertrue

【LeetCode】19. 删除链表的倒数第 N 个结点

19. 删除链表的倒数第 N 个结点(中等) 方法:快慢指针 思路 为了找到倒数第 n 个节点,我们应该先找到最后一个节点,然后从它开始往前数 n-1 个节点就是要删除的节点。 对于一般情况:设置 fast 和 slow 两个…

idea配置gitLab

前言:网上有很多类似的文章,但描述不够详细 步骤1:安装git 如果安装成功再次点击TEST按钮展示如下:git版本 步骤2:idea配置gitlab 查看当前项目管理的 远程仓库再git的地址,该地址可是gitLab的&#xff0…

DNS解析

1.DNS介绍 DNS 表示域名系统。此系统实质上是用于整理和识别各个域名的网络电话簿。电话簿将“Acme Pizza”之类的名称转换为要拨打的正确电话号码,而 DNS 将“www.google.com”之类的网络地址转换为托管该网站的计算机的物理 IP 地址,如“74.125.19.147…

OpenCV(二十七):图像距离变换

1.像素间距离 2.距离变换函数distanceTransform() void cv::distanceTransform ( InputArray src, OutputArray dst, int distanceType, int maskSize, int dstType CV_32F ) src:输入图像,数据类型为CV8U的单通道图像dst:输出图像,与输入图像…

vue3 的 ref、 toRef 、 toRefs

1、ref: 对原始数据进行拷贝。当修改 ref 响应式数据的时候&#xff0c;模版中引用 ref 响应式数据的视图处会发生改变&#xff0c;但原始数据不会发生改变 <template><div>{{refA}}</div> </template><script lang"ts" setup> impor…

RabbitMQ学习笔记

1、什么是MQ&#xff1f; MQ全称message queue&#xff08;消息队列&#xff09;&#xff0c;本质是一个队列&#xff0c;FIFO先进先出&#xff0c;是消息传送过程中保存消息的容器&#xff0c;多 用于分布式系统之间进行通信。 在互联网架构中&#xff0c;MQ是一种非常常见的…

js中call、apply和bind:

文章目录 一、区别:二、案例&#xff1a;三、实现&#xff1a;【1】call实现【2】apply实现【3】bind实现 一、区别: call、apply、bind相同点&#xff1a;都是改变this的指向&#xff0c;传入的第一个参数都是绑定this的指向&#xff0c;在非严格模式中&#xff0c;如果第一个…

jenkins自动化部署安装

一、准备工作 1、安装jdk # 1、下载准备jdk包(也可以用docker安装) wget ... # 2、直接解压到,无需安装 unzip ...2、安装maven # 1、下载准备maven压缩包 wget ... # 2、直接解压,无需安装 unzip ... # 3、修改setting.xml&#xff0c;修改localRepository和MIRROR镜像地址…

大数据时代下的精准营销

在大数据时代&#xff0c;人们的信息越来越透明&#xff0c;留在网络上的各种数据也是企业进行营销的一个重要的生产要素。一直以来&#xff0c;营销的科学性正是因为运用了自然科学中一级互联网中的数据收集手段&#xff0c;严谨的记录、搜集和分析消费者的各项数据和日常生活…

STS4 New 安装Spring Bean Configuration File

背景介绍 在创建spring项目后&#xff0c;如果想想创建spring bean Configuration的时候&#xff0c;发下菜单没有这个选项&#xff0c;需要通过下载Spring Roo插件可满足该操作。 参考案例 参考地址&#xff1a; STS4 New 菜单没有Spring Bean Configuration File选项_SQZHA…

Android 进阶——图形显示系统之Choreographer监听VSync并提供回调接口详解(二)

文章目录 引言一、Choreographer 信号的分发处理二、Choreographer.FrameDisplayEventReceiver # onVsync方法向主线程发送Message消息三、主线程Looper处理消息并触发Choreographer.FrameDisplayEventReceiver.run方法四、Choreographer#doFrame处理回调1、Choreographer#doFr…

【Windows注册表内容详解】

Windows注册表内容详解 第一章节 注册表基础 一、什么是注册表 注册表是windows操作系统、硬件设备以及客户应用程序得以正常运行和保存设置的核心“数据库”&#xff0c;也可以说是一个非常巨大的树状分层结构的数据库系统。 注册表记录了用户安装在计算机上的软件和每个程…

企业网络小实验-MUX-Vlan(NAT)

路漫漫其修远兮&#xff0c;吾将上下而求索 直接上实验 实验说明 模拟公司的部门实验&#xff0c; &#xff08;1&#xff09;公司主机如图所示&#xff0c;配置DNS服务器&#xff0c;配置NAT地址转换&#xff08;使用easy-ip的形式&#xff09;访问外网。 &#xff08;2&…

【性能测试】Jenkins+Ant+Jmeter自动化框架的搭建思路

前言 前面讲了Jmeter在性能测试中的应用及扩展。随着测试的深入&#xff0c;我们发现在性能测试中也会遇到不少的重复工作。 比如某新兴业务处于上升阶段&#xff0c;需要在每个版本中&#xff0c;对某些新增接口进行性能测试&#xff0c;有时还需要在一天中的不同时段分别进行…

Lumion 和 Enscape 应该选择怎样的笔记本电脑?

Lumion 和 Enscape实时渲染对配置要求高&#xff0c;本地配置不够&#xff0c;如何快速解决&#xff1a; 本地普通电脑可一键申请高性能工作站&#xff0c;资产安全保障&#xff0c;供软件中心&#xff0c;各种软件插件一键获取&#xff0c;且即开即用&#xff0c;使用灵活&am…

23个react常见问题

1、setState 是异步还是同步&#xff1f; 合成事件中是异步 钩子函数中的是异步 原生事件中是同步 setTimeout中是同步 相关链接&#xff1a;你真的理解setState吗&#xff1f;&#xff1a; 2、聊聊 react16.4 的生命周期 图片 相关连接&#xff1a;React 生命周期 我对 Reac…

NFT Insider#105:The Sandbox即将参加韩国区块链周,YGG的声誉和进步(RAP)将引领玩家晋升到下一层级

引言&#xff1a;NFT Insider由NFT收藏组织WHALE Members(https://twitter.com/WHALEMembers)、BeepCrypto&#xff08;https://twitter.com/beep_crypto&#xff09;联合出品&#xff0c;浓缩每周NFT新闻&#xff0c;为大家带来关于NFT最全面、最新鲜、最有价值的讯息。每期周…

sql_mode详解

文章目录 一、sql_mode作用二、查询sql_mode三、mysql8默认的mode配置&#xff08;6个默认配置&#xff09;四、常见mode详细解释mysql8默认配置了的mode&#xff08;6个&#xff09;需要自己配置的mode&#xff08;4个&#xff09; 五、设置sql_mode&#xff08;一旦设置了&am…

蓝桥杯官网练习题(算式900)

题目描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 小明的作业本上有道思考题&#xff1a; 看下面的算式&#xff1a; (□□□□-□□□□)*□□900其中的小方块代表 0 ~ 9 的数字&#xff0c;这 10 个方块刚好包含了…