目录

  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. 大前端html基础学习02

    CSS核心属性 一.css属性和属性值的定义 属性:属性是指定选择符所具有的属性,它是css的核心. 属性值:属性值包括法定属性值及常见的数值加单位,如25px,或颜色值等. 二.CSS文本属性 1. ...

  2. 流程编排、如此简单-通用流程编排组件JDEasyFlow介绍

    作者:李玉亮 JDEasyFlow是企业金融研发部自研的通用流程编排技术组件,适用于服务编排.工作流.审批流等场景,该组件已开源(https://github.com/JDEasyFlow/jd-ea ...

  3. ajax 获取json值

    请求后台获取json: {"success":true,"datamap":{"rebackName":"振勋"}} a ...

  4. 教你几个 Java 编程中的奇技淫巧

    枯燥的编程中总得有些乐趣,今天我们不谈论那些高深的技能,教你几个在编程中的奇技淫巧,说不定在某些时候还能炫耀一番呢. 1.找到最大值和最小值 不使用 if else switch 和三元运算符,在给定 ...

  5. SQLMap进阶:参数讲解

    1.--level 5:探测等级 -level 5参数代表需要执行的测试等级为5,一共有5个测试等级1~5,可不加level,不加等级参数默认是1.SQLMap使用的Payload可以在xml/poy ...

  6. week_6

    Andrew Ng 机器学习笔记 ---By Orangestar Week_6 (1) In Week 6, you will be learning about systematically im ...

  7. 【转载】SQL Server FileStream 体验

    FileStream是SQL Server 2008提供的新特性,之前附件在SQL的存储一种是直接放数据库,一种是存储一个路径,附件单独放在磁盘上.前一种方法会使数据库空间更快变大,而且读写占用较多数 ...

  8. MongoDB从入门到实战之.NET Core使用MongoDB开发ToDoList系统(1)-后端项目框架搭建

    前言: 前面的四个章节我们主要讲解了MongoDB的相关基础知识,接下来我们就开始进入使用.NET7操作MongoDB开发一个ToDoList系统实战教程. MongoDB从入门到实战的相关教程 Mo ...

  9. Hive详解(04) - hive函数的使用

    Hive详解(04) - hive函数的使用 系统内置函数 查看系统自带的函数 hive> show functions; 显示自带的函数的用法 hive> desc function u ...

  10. DVWA靶场实战(四)——File Inclusion

    DVWA靶场实战(四) 四.File Inclusion: 1.漏洞原理: 随着网站的业务的需求,程序开发人员一般希望代码更加灵活,所以将被包含的文件设置为变量,用来进行动态调用,但是正是这种灵活性通 ...