uboot理解

make---》定义系统结构---》定义主机操作系统类型---》定义执行shell脚本的shell---》

make XXX_config ---》执行顶层目录的mkconfig(是一个脚本)

mkconfig这个脚本做了3件事情:1.建立软连接  2.创建include/configs.mk  3.创建include/config.h

1.软连接中连接了a:arm通用的头文件  b:特定cpu用的头文件  c:cpu用的特殊文件(结构体,汇编函数...)

2.include/config.mk文件中包含了: ARCH CPU BOARD VENDOR SOC 等

3.include/config.h中包含一些通用的头文件:config_cmd_defaults.h   config_defaults.h   configs/XXX.h   asm/config.h   


make all--->sinclude $(obj)inluce/autoconf.mk (include config.h中的include文件)--->sinclude $(obj)include/autoconf.mk.dep(include config.h|commod.h中的宏定义)--->包含include/config.mk(就是上面生成的那个)--->包含顶层的config.mk(做了3件事) 1.指定汇编工具  2.指定汇编规则  3.讲需要的config.mk包含进来

3.包含了哪些:例如: arm/config.mk  smdk64XX/config.mk  arm1176/config.mk  $(board)/config.mk(就是他设定了text地址)

 

u-boot: depend $(SUBDIRS) $(objs) $(libs) ....$u-boot.lds

depend 规则就系进入每一个需要的目录进行make_depend

_depend目标在顶层的rules.mk中,rules.mk会生成当前目录下需要的目标依赖文件

                                                    ARCH     CPU       BOARD    VENDOR    SOC

mini6410中 $(MKCONFIG) mini6410   arm   s3c64xx   mini6410  samsung   s3c6410   Nand  ram256

                                        $1          $2       $3           $4            $5            $6           $7     $8

posted on 2013-04-09 23:35  b-cat  阅读(135)  评论(0编辑  收藏  举报

导航