目录

  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. <三>使用类模板实现STL Vector

    使用类模板实现STL Vector,点击查看代码 #include <iostream> using namespace std; template<typename T> c ...

  2. AArch32/AArch64系统级内存模型(三)

    1. 内存系统架构 1.1 系统级存储系统体系结构的形式   Armv8的a -profile体系结构包括一个虚拟内存系统体系结构(Virtual Memory System Architecture ...

  3. Microsoft.IO.RecyclableMemoryStream源码解读

    一.RecyclableMemoryStreamManager 源码地址:https://github.com/Microsoft/Microsoft.IO.RecyclableMemoryStrea ...

  4. [论文阅读] 颜色迁移-Correlated Color Space

    [论文阅读] 颜色迁移-Correlated Color Space 文章: Color transfer in correlated color space, [paper], [matlab co ...

  5. jjava基础语法

    java基础语法1 注释 注意: SDK要选择JDK1.8,且下面的语言要选择8,配置完这个环境后,JAVA才能正常运行. 单行注释 //+text 快捷键:ctrl+/ 多行注释  /*+text+ ...

  6. MySQL基础知识(二)-超详细 Linux安装MySQL5.7完整版教程及遇到的坑

    1.简介 我们经常会在Linux上安装MySQL数据库,但是安装的时候总是会这里错,那里错,不顺利,今天整理了一下安装流程,连续安装来了两遍,没有遇到什么大错误,基本上十分钟左右可以搞定,教程如下.写 ...

  7. Linux NTP工具的基本使用

    NTP 时间同步 NTP(Network Time Protocol)协议,网络时间协议.利用ntp协议可以实现网络中的计算机时间同步. 实现NTP协议的工具: ntpdate:只能同步一次时间 nt ...

  8. <五>基于CAS操作的atomic原子类型

    C++11多线程类库中提供了 include包含了很多原子类型 原子操作 若干汇编指令具有读-修改-写类型,也就是说它们访问存储器单元两次,第一次读原值,第二次写新值 假定运行在两个cpu上的两个内核 ...

  9. 从面试题入手,畅谈 Vue 3 性能优化

    前言 今年又是一个非常寒冷的冬天,很多公司都开始人员精简.市场从来不缺前端,但对高级前端的需求还是特别强烈的.一些大厂的面试官为了区分候选人对前端领域能力的深度,经常会在面试过程中考察一些前端框架的源 ...

  10. [python] 个人日常python工具代码

    文章目录 生成文件目录结构 多图合并 找出文件夹中相似图像 生成文件目录结构 生成文件夹或文件的目录结构,并保存结果.可选是否滤除目录,特定文件以及可以设定最大查找文件结构深度.效果如下: root: ...