目录

  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. AR路由器如何配置Portal认证(二层网络)

    规格 适用于所有版本.所有形态的AR路由器. 说明: 4GE-2S.4ES2G-S.4ES2GP-S和9ES2单板不支持NAC功能. 组网需求 如图所示,某公司接待室需要部署一套身份认证系统,对接入网 ...

  2. ES系列二之常见问题解决

    上篇ES系列一之java端API操作结束后本以为就相安无事了,但生产的问题是层出不穷的:下面我就再记录下近几周遇到的问题以及解决方案: 一 更新ES信息报错 报错信息如下: Use Elasticse ...

  3. SUPERVISOR监控tomcat配置文件

    Supervisor安装教程参考:https://www.cnblogs.com/brad93/p/16639953.html tomcat安装教程参考:https://www.cnblogs.com ...

  4. 【每日一题】【直接循环&二分查找】2022年2月10日-NC32 求平方根

    描述实现函数 int sqrt(int x).计算并返回 x 的平方根(向下取整) 方法1:直接循环 import java.util.*; public class Solution { /** * ...

  5. 在windows下导入react项目并且打包编译后部署到nginx上

    在windows下导入react项目并且打包编译后部署到nginx上 一.安装npm 二.创建react项目 三.安装nginx 四.总结 最近接手了公司的一个django项目,这是应该前后端分离的项 ...

  6. go-carbon 1.5.3 版本发布, 修复已知 bug 和新增俄罗斯语翻译文件

    carbon 是一个轻量级.语义化.对开发者友好的golang时间处理库,支持链式调用. 目前已被 awesome-go 收录,如果您觉得不错,请给个star吧 github.com/golang-m ...

  7. 03.Javascript学习笔记2

    1.逻辑运算符 在javascript中与或非对应的逻辑运算符是: && || ! const a = true; const b = false; console.log(a &am ...

  8. 可视化编排的数据集成和分发开源框架Nifi轻松入门-上

    @ 目录 概述 定义 dataflow面临挑战 特性 核心概念 架构 高级概述 安装 部署 常见处理器 入门示例 概述 定义 Nifi 官网地址 https://nifi.apache.org/ Ni ...

  9. ES6——模块化

    模块化 模块化是指将一个大的程序文件,拆分成许多小的文件,然后将小文件组合起来. 一.浏览器使用ES6模块化方式一 使用script标签,将type属性设置为module,然后在script中书写代码 ...

  10. [python] tensorflow中的argmax()函数argmax()函数

    首先 import tensorflow as tf tf.argmax(tenso,n)函数会返回tensor中参数指定的维度中的最大值的索引或者向量.当tensor为矩阵返回向量,tensor为向 ...