uboot研读笔记 | 12 - uboot目录结构分析(2016.03版本)
整个目录结构分析的思维导图:【腾讯文档】uboot 2016.03目录结构分析
背景说明
我使用的是已经移植到atk-imx6ull开发板上的uboot,基于NXP原厂提供的uboot,版本为2016.03。
uboot未编译的时候,长这样:
编译完成之后,长这样:
一、uboot文件夹目录分析
1. api
mach/arch中给外部app调用的独立的API(与硬件无关)。
2.arch
CPU相关的架构代码。
其中arm架构下的内容:
mach-
开头:某个具体的ARM处理器相关文件- 其它文件夹
cpu
、dts
、lib
、include
:是ARM架构处理器通用文件 imx-common
:本文使用的是NXP提供的uboot,所以该文件夹是NXP添加到imx处理器相关文件
cpu文件夹的内容是某个具体的ARM内核架构,内容如下:
Cortex-A7系列属于ARM v7架构,查看其内容:
这里面就是ARM v7架构底层的一些代码了。
整理arch目录的思维导图如下:
3. board
不同开发板的代码,移植uboot的时候新建开发板bsp也是在这里对应的芯片厂商下面新建。
NXP前身是freescale:
其中mx6ullevk是官方板,mx6ullatk是我移植的正点原子开发板。
board目录的思维导图如下:
4. cmd
u-boot命令的实现文件。
5. common
uboot中通用的一些功能实现。
6. configs
存放不同开发板的uboot配置文件,命名规则统一为xxx_defconfig
,xxx表示为开发板名称。
移植的时候,通常在官方EVK开发板的配置文件基础上,复制一份自己开发板的,修改即可。
7. disk
8. doc
uboot的一些帮助文档。
9. drivers
u-boot的设备驱动源码,支持非常丰富。
10. dts
存放不同开发板的设备树源码文件,目前该目录为空。
11. examples
u-boot示例代码。
12. fs
uboot支持的文件系统。
13. net
uboot网络相关功能实现。
14. 其它文件夹
- License:uboot使用的开源许可协议
- include和lib:uboot需要的头文件和库文件
- post:上电自检程序
- scripts:常用的一些脚本
- test:测试文件夹
- tools:常用的一些工具
二、uboot文件分析
1. 编译使用的文件
.config
文件:配置make xxx_defconfig
命令后生成Makefile
:uboot的顶层makefileconfig.mk
:某个Makefile会调用此配置文件
2. 编译出的文件
- u-boot:编译出的ELF格式的uboot镜像文件
- u-boot.bin:编译出来的二进制格式的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-nodtb.bin的复制文件
uboot研读笔记 | 12 - uboot目录结构分析(2016.03版本)相关推荐
- uboot研读笔记 | 13 - uboot编译构建Makefile分析研读(2016.03版本)
一.uboot的编译 首先来回顾一下uboot如何编译. (1)设置临时环境变量 export ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- (2)指定板级配 ...
- uboot研读笔记 | 04 - 移植uboot 2012.04到JZ2440(支持Nor Flash读写)
项目开源地址:https://github.com/Mculover666/uboot-jz2440 0. 教程完整目录 00 - 嵌入式Linux系统中Bootloader的作用和基本运行原理 01 ...
- Uboot专题(一)—— 移植NXP官方Uboot(2016.03版本)
linux系列目录: linux系统移植篇(二)-- Uboot使用介绍 Uboot专题(一)-- 移植NXP官方Uboot(2016.03版本) 文章目录 一.编译NXP官方uboot 1.获取ub ...
- uboot研读笔记 | 05 - 移植uboot 2012.04到JZ2440(支持Nand Flash读写)
项目开源地址:https://github.com/Mculover666/uboot-jz2440 0. 教程完整目录 00 - 嵌入式Linux系统中Bootloader的作用和基本运行原理 01 ...
- linux uboot启动流程分析,uboot启动流程分析
uboot版本为NXP维护的2016.03版本 下载地址为http://git.freescale.com/git/... 分析uboot的启动流程,需要编译一下uboot,然后打开链接脚本 u-bo ...
- 12.08笔记(u-boot启动盘制作)
文章目录 一.组网过程 二.uboot源码获取 三.uboot源码移植准备过程 四.如何确定<board_name>名字 4.1大概流程: 4.2具体步骤: 五.basic版本启动流程 六 ...
- X-003 FriendlyARM tiny4412 uboot移植之添加相应目录文件
X-003 FriendlyARM tiny4412 uboot移植之添加相应目录文件 <<<<<<<<<<<<<< ...
- ARM Uboot经历——makefile与uboot目录
makefile是个很复杂的东西,但是只要有耐心层层剥下,也能看到你想看到的东西.很遗憾的事,很多人都没有耐心去层层看,我也是. 对于makefile,我也仅仅从基础上了解了它在uboot中的原理和作 ...
- uboot开发笔记一之ralink mt7620编译
uboot开发笔记一之ralink mt7620编译 参考: 1.MTK_Ralink_ApSoC_SDK_4200_20131106.tar.bz2,这个ralink的sdk网上有,自行搜索; MT ...
最新文章
- python入门编程题库-Python经典基础编程练习题(六)——每日10题
- SIM900A基站定位调试笔记 -转
- 归并排序——算法系列
- 第十:Pytest中的yield操作
- Python yield generator
- Spark-生产案例
- yolov4训练自己的数据
- RHEL 6.3的yum不小心被删除了。如何恢复?
- markdown编辑器Typora的使用方法(保姆级教程)
- 计算机编程语言用英语怎么说,编程用英语怎么说
- 解析Google地图的Search接口返回的f.txt文件数据(其他类似)
- “撒旦”勒索病毒再曝4.2变种 腾讯电脑管家文档守护者可一招解密
- 《自律100天,穿越人生盲点》读书笔记
- Toast的使用详解
- mansory使用记录NSLayoutConstraint-代码实现自动布局
- 谷奥是一个非商业网站,我们欢迎所有的google用户/google爱好者贡献你的一份力量:
- ios控制中心android版,控制中心iOS13
- 使用 HTML、CSS 和 JavaScript 制作模拟时钟(初学者教程)
- 消防系统计算机网络安全,麦积消防中队组织开展网络安全排查
- Matic Network的应用场景大揭秘!
热门文章
- linux虚拟机安装MySQL
- 微软的可疑更新DhMachineSvc.exe
- 量化交易系统c++程序化接口代码
- Shfit映像劫持后门新玩法
- nagios监控php-fpm,Nginx平台安装Nagios监控服务
- 查看linux内核的编译时间,linux内核编译步骤
- Spark存储机制源码剖析
- 【HEC-RAS】2D模型初步介绍(2)--创建二维网格
- JavaScript技术总结6:创建一个范围内的数字
- Android App开发 教你分清“沉浸式”和“透明状态栏”