目录

  1. api 与硬件无关的 API 函数。
  2. arch 与架构体系有关的代码。
    1.  各种架构,例如arm
      1. cpu  各种版本的cpu, 例如armv7, arm9
      2. 各种厂商,例如瑞芯微mach-rockchip
  3. board 不同板子(开发板)的定制代码。
    1.    例如raspberrypi/rpi_2 或者 freescale/mx6ul_14x14_evk
  4. cmd 命令相关代码
  5. common 通用代码。
  6. configs 配置文件。
    1. 各种板子的各种配置的配置文件,例如512M + EMMC的  mx6ull_14x14_ddr512_emmc_defconfig
    2. 编译前需要 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_14x14_ddr512_emmc_defconfig
    3. 清除编译是 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
    4. 编译 是 make V=1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4
  7. disk 磁盘分区相关代码
  8. doc 文档。 
  9. drivers 驱动代码。
  10. dts 设备树。 
  11. examples 示例代码。
  12. fs 文件系统。
  13. include 头文件。
  14. lib 库文件。
  15. Licenses 许可证相关文件。
  16. net 网络相关代码。
  17. post 上电自检程序。 
  18. scripts 脚本文件。 
  19. test 测试代码。
  20. tools 工具文件夹。

文件

  1. .gitignore git 工具相关文件。 
  2. .mailmap 邮件列表。
  3. config.mk 某个 Makefile 会调用此文件。
  4. Kbuild 用于生成一些和汇编有关的文件。
  5. Kconfig 图形配置界面描述文件。
  6. MAINTAINERS 维护者联系方式文件。
  7. MAKEALL 一个 shell 脚本文件,帮助编译uboot 的。
  8. Makefile 主 Makefile,重要文件! 
  9. README 相当于帮助文档。
 
生成的文件
  1. .config 配置文件,重要的文件。
    1. uboot 配置文件,使用命令“make xxx_defconfig”配置 uboot 以后就会自动生成
    2. 如果 配置文件中有类似 CONFIG_CMD_BOOTD=y,那么Makefile

      obj-$(CONFIG_CMD_BOOTM) += bootm.o
      obj-y += bootm.o
      obj-y 包含着所有要编译的文件对应的.o 文件
  2. .u-boot.xxx.cmd 这是一系列的文件,用于保存着一些命令。
    1. .u-boot.xxx_cmd 的
        cmd_u-boot.bin := cp u-boot-nodtb.bin u-boot.bin
    2. .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

    3. .u-boot.cmd的

      cmd_u-boot := arm-linux-gnueabihf-ld.bfd -pie --gc-sections -Bstatic -Ttext 0x87800000 -o u-boot -T u-boot.lds

      arch/arm/cpu/armv7/start.o

      --start-group
      arch/arm/cpu/built-in.o
      arch/arm/cpu/armv7/built-in.o
      arch/arm/imx-common/built-in.o
      arch/arm/lib/built-in.o
      board/freescale/common/built-in.o
      board/freescale/mx6ull_alientek_emmc/built-in.o
      cmd/built-in.o
      common/built-in.o
      disk/built-in.o
      drivers/built-in.o
      drivers/dma/built-in.o
      drivers/gpio/built-in.o
      drivers/i2c/built-in.o
      drivers/mmc/built-in.o
      drivers/mtd/built-in.o
      drivers/mtd/onenand/built-in.o
      drivers/mtd/spi/built-in.o
      drivers/net/built-in.o
      drivers/net/phy/built-in.o
      drivers/pci/built-in.o
      drivers/power/built-in.o
      drivers/power/battery/built-in.o
      drivers/power/fuel_gauge/built-in.o
      drivers/power/mfd/built-in.o
      drivers/power/pmic/built-in.o
      drivers/power/regulator/built-in.o
      drivers/serial/built-in.o
      drivers/spi/built-in.o
      drivers/usb/dwc3/built-in.o
      drivers/usb/emul/built-in.o
      drivers/usb/eth/built-in.o
      drivers/usb/gadget/built-in.o
      drivers/usb/gadget/udc/built-in.o
      drivers/usb/host/built-in.o
      drivers/usb/musb-new/built-in.o
      drivers/usb/musb/built-in.o
      drivers/usb/phy/built-in.o
      drivers/usb/ulpi/built-in.o
      fs/built-in.o
      lib/built-in.o
      net/built-in.o
      test/built-in.o
      test/dm/built-in.o
      --end-group

      arch/arm/lib/eabi_compat.o

      -L /usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/4.9.4
      -lgcc -Map u-boot.map

    4. .u-boot.imx.cmd
      cmd_u-boot.imx := ./tools/mkimage -n
      board/freescale/mx6ull_alientek_emmc/imximage.cfg.cfgtmp -T imximage
      -e 0x87800000 -d u-boot.bin u-boot.imx
  3. System.map 系统映射文件
  4. u-boot 编译出来的 u-boot 文件。
  5. u-boot.xxx 生成的一些 u-boot 相关文件,包括u-boot.bin、u-boot.imx.等
    1. u-boot:编译出来的 ELF 格式的 uboot 镜像文件。
    2. u-boot.bin:编译出来的二进制格式的 uboot 可执行镜像文件。
    3. u-boot.cfg:uboot 的另外一种配置文件。
    4. u-boot.imx:u-boot.bin 添加头部信息以后的文件,NXP 的 CPU 专用文件。
    5. u-boot.lds:链接脚本。
    6. u-boot.map:uboot 映射文件,通过查看此文件可以知道某个函数被链接到了哪个地址上。
    7. u-boot.srec:S-Record 格式的镜像文件。
    8. u-boot.sym:uboot 符号文件。
    9. u-boot-nodtb.bin:和 u-boot.bin 一样,u-boot.bin 就是 u-boot-nodtb.bin 的复制文件。

uboot目录的更多相关文章

  1. uboot各种目录下的文件作用

    uboot下载地址:http://ftp.denx.de/pub/u-boot/ 1.目录分布 2.目录结构变化: u-boot-2010.03及以前版本├── api                ...

  2. uboot——详解各目录下的文件作用

    uboot下载地址:http://ftp.denx.de/pub/u-boot/ 1.目录分布 2.目录结构变化: u-boot-2010.03及以前版本 ├── api                ...

  3. 第二天-uboot学习

    源码阅读方法1.源码目录结构2.配置(支持当前使用的硬件)3.编译(Makefile)4.启动流程 工具使用1.在同一文件查找 shitf+8 N n进行上下查找 2.在工程目录中 ctags ubo ...

  4. uboot完全手册---14

    1. u-boot介绍 本次移植采用的是U-Boot-1.2.0版本. 3. U-Boot源码分析 3.1 源码入口的解释 可能大多数的同学上网查资料后都了解到,stage1阶段的启动代码,主要就在s ...

  5. 【转】Bootloader之uBoot简介(转)

    原文网址:http://blog.csdn.net/sadamoo/article/details/8139946 来自http://blog.ednchina.com/hhuwxf/1915416/ ...

  6. 嵌入式 hi3518平台uboot引导nfs文件系统

    首先贴出来我的bootargs的设置(注没有换行符!!!): setenv bootargs noinitrd mem=64M root=/dev/nfs init=/linuxrc rw nfsro ...

  7. hisi平台mii网络模式和rmii网络模式的uboot制作

    MII网络uboot编译说明 一:编译生成默认的uboot1. 进入到uboot目录a. cd /home/satan/Hi3518_SDK_V1.0.7.0/osdrv/uboot2. 新建临时文件 ...

  8. 在Linux里读取UBOOT环境变量

    转载:http://falloutmx.blog.163.com/blog/static/39236020201211145010154/ 可以通过mtd方式读取,也可以用ioremap方式.不过这些 ...

  9. UBOOT的多支持性与可裁剪性

    UBOOT功能强大,适用于多种操作系统,多种处理器架构. 在阅读它的源码时,可以看到cpu目录有各种处理器,而board目录有各种开发板.但是,对于一个特定的实验平台,例如TQ2440开发板,它用到的 ...

  10. Jlink 烧写Uboot

    第一章 Hi3531_SDK_Vx.x.x.x版本升级操作说明 如果您是首次安装本SDK,请直接参看第2章. 第二章首次安装SDK 1.Hi3531 SDK包位置 在"Hi3531_V100 ...

随机推荐

  1. Spring Security(1)

    您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来- 虽然说互联网是一个非常开发.几乎没有边界的信息大海,但说起来有点奇怪的是,每个稍微有点规模的互联网应用都有自己的权限系统,而权限的本质却是是封闭 ...

  2. SQLi

    点进去发现是个空白网页,查看源码发现一个login.php的文件,话不多说,直接选择复制然后访问 Url: http://5865f5830d034083b9bbc0dafc6b60a5d5d2309 ...

  3. Js前端导出csv

    var myMemory = myObjectStore.objectStore; var myDataArray = myMemory.data; var myCsvString = "\ ...

  4. 漫谈计算机网络:应用层 ----- 从DNS域名解析到WWW万维网再到P2P应用

    2022-12-04 18:31:01 纪念一下博主的<漫谈计算机网络>连载博客 浏览量破500了! 今天更新完结篇! 面试答不上?计网很枯燥? 听说你学习 计网 每次记了都会忘? 不妨抽 ...

  5. 通过Shell脚本自动安装Hive&JDBC测试&提供CDH5网盘地址

    〇.参考地址 1.Linux下编写脚本自动安装hive https://blog.csdn.net/weixin_44911081/article/details/121227024?ops_requ ...

  6. 【Shell脚本案例】案例1:服务器系统配置初始化

    〇.目录 一.背景 新购买10台服务器,并安装Linux系统 目的:对操作系统进行配置的初始化 二.需求 1.设置时区并同步时间 2.禁用selinux安全机制 3.关闭防火墙(清空防火墙的默认策略, ...

  7. 无人机集群的分布式协作 VI-SLAM

    以下内容来自从零开始机器人SLAM知识星球 每日更新内容 点击领取学习资料 → 机器人SLAM学习资料大礼包 论文# D2SLAM: Decentralized and Distributed Col ...

  8. XSS漏洞利用案例实验

    前言 此为XSS漏洞学习笔记,记录XSS的学习过程,方便今后复习使用,有写的不好的地方请见谅,大佬勿喷. GET型XSS利用 攻击流程 攻击实现 以pikachu网站的反射型XSS(GET)为例 攻击 ...

  9. C++11(列表初始化+变量类型推导+类型转换+左右值概念、引用+完美转发和万能应用+定位new+可变参数模板+emplace接口)

    列表初始化 用法 在C++98中,{}只能够对数组元素进行统一的列表初始化,但是对应自定义类型,无法使用{}进行初始化,如下所示: // 数组类型 int arr1[] = { 1,2,3,4 }; ...

  10. 旧酒换新瓶,新版M1/M2芯片Macos(Ventura)安装古早版本Python2.7(Python2.x)

    向下兼容特性是软件开发系统的一个重要指标,它是指一个新的系统或者软件能够与旧的系统或软件兼容并正常运行.这意味着旧系统或软件可以在新系统或软件中使用,而不会出现问题.向下兼容对于提高软件或系统的可用性 ...