现在的位置: 首页 > 综合 > 正文

U-Boot 1.1.6的编译过程

2018年04月28日 ⁄ 综合 ⁄ 共 800字 ⁄ 字号 评论关闭

本文以SMDK2410开发板为例:

从顶层makefile说起:

92行:MKCONFIG := $(SRCTREE)/mkconfig

其中的mkconfig是一个shell脚本,SRCTREE默认值为U-Boot的顶层目录。

117行:include $(OBJTREE)/include/config.mk

include/config.mk由92行的脚本创建,下面会看到mkconfig的调用。

128行:CROSS_COMPILE = arm-linux-

交叉编译工具链的设置,后面有更具体的设置。

164行:include $(TOPDIR)/config.mk

顶层的config.mk设置编译选项、编译工具,包含开发板相关的配置文件,其中使用了117行include/config.mk中的变量,包括目标、架构、cpu、开发板、芯片供应商、SoC

包含以下文件:

arm_config.mk

cpu/arm920t/config.mk

cpu/arm920t/s3c24x0/config.mk(该文件不存在)

board/smdk2410/config.mk

board/smdk2410/u-boot.lds

1879行:smdk2410_config : unconfig
            @$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 NULL s3c24x0

其中MKCONFIG为92行的shell脚本,参数共6个:smdk2410 arm arm920t smdk2410 NULL s3c24x0,前4个是必需的,后两个视情况而定。

该脚本生成以下文件:

在include/下创建ln -s asm-arm asm

在include/asm-arm/创建ln -s arch-s3c24x0 arch

asm-arm/下ln -s proc-armv proc

创建include/config.mk

创建includd/config.h

抱歉!评论已关闭.