uboot目录
目录
-
api 与硬件无关的 API 函数。
-
arch 与架构体系有关的代码。
- 各种架构,例如arm
- cpu 各种版本的cpu, 例如armv7, arm9
- 各种厂商,例如瑞芯微mach-rockchip
- 各种架构,例如arm
-
board 不同板子(开发板)的定制代码。
-
例如raspberrypi/rpi_2 或者 freescale/mx6ul_14x14_evk
-
-
cmd 命令相关代码
-
common 通用代码。
-
configs 配置文件。
- 各种板子的各种配置的配置文件,例如512M + EMMC的 mx6ull_14x14_ddr512_emmc_defconfig
- 编译前需要 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_14x14_ddr512_emmc_defconfig
- 清除编译是 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
- 编译 是 make V=1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4
-
disk 磁盘分区相关代码
-
doc 文档。
-
drivers 驱动代码。
-
dts 设备树。
-
examples 示例代码。
-
fs 文件系统。
-
include 头文件。
-
lib 库文件。
-
Licenses 许可证相关文件。
-
net 网络相关代码。
-
post 上电自检程序。
-
scripts 脚本文件。
-
test 测试代码。
-
tools 工具文件夹。
文件
-
.gitignore git 工具相关文件。
-
.mailmap 邮件列表。
- config.mk 某个 Makefile 会调用此文件。
-
Kbuild 用于生成一些和汇编有关的文件。
-
Kconfig 图形配置界面描述文件。
-
MAINTAINERS 维护者联系方式文件。
-
MAKEALL 一个 shell 脚本文件,帮助编译uboot 的。
-
Makefile 主 Makefile,重要文件!
-
README 相当于帮助文档。
- .config 配置文件,重要的文件。
- uboot 配置文件,使用命令“make xxx_defconfig”配置 uboot 以后就会自动生成
-
如果 配置文件中有类似 CONFIG_CMD_BOOTD=y,那么Makefile
obj-$(CONFIG_CMD_BOOTM) += bootm.oobj-y += bootm.oobj-y 包含着所有要编译的文件对应的.o 文件
- .u-boot.xxx.cmd 这是一系列的文件,用于保存着一些命令。
-
.u-boot.xxx_cmd 的
cmd_u-boot.bin := cp u-boot-nodtb.bin u-boot.bin - .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
-
.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-grouparch/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 - .u-boot.imx.cmd
cmd_u-boot.imx := ./tools/mkimage -nboard/freescale/mx6ull_alientek_emmc/imximage.cfg.cfgtmp -T imximage-e 0x87800000 -d u-boot.bin u-boot.imx
-
- System.map 系统映射文件
- u-boot 编译出来的 u-boot 文件。
- u-boot.xxx 生成的一些 u-boot 相关文件,包括u-boot.bin、u-boot.imx.等
- 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.bin 就是 u-boot-nodtb.bin 的复制文件。