uboot的编译过程

来源:互联网 发布:android java 编辑:程序博客网 时间:2024/05/20 12:49

(1)首先在uboot源码的根目录下,执行#make smdk2410_config则编译器找到当前目录下的makefile,根据其中的解释该命令相当于执行" ./mkconfig  smdk2410  arm  arm920t           smdk2410  NULL  s3c24x0",其中smdk2410到s3c24x0为参数列表,对应$1~$6;

(2)然后会运行可执行文件mkconfig  :A :确定开发板名称

                                                                         B:创建开发板相关头文件链接

         C:创建顶层Makefile包含的文件include/config.mk

         D:创建开发板相关头文件include/config.h

           在D中该头文件内容为包含另外一个.h文件,该文件设置了Uboot的配置参数:如cpu ,soc,选择设备驱动;Flash起始地址,malloc缓冲池大小等

(3)然后执行#make all 对uboot所用到的文件进行执行,编译,链接,这里仍然根据Makefile中的内容进行运行执行。

          Makefile中相关内容包括:A:包含其它config.mdk文件

                                                         B:设置OBJS与LIBS变量的值(指定特定cpu对应的start.S文件以及与平台和开发板相关的各个目录,库等),以及怎样编译

                                                         C:链接编译后的文件,生成相应格式文件。

          结合Makefile可见uboot的编译流程:先编译特定cpu下的start.S文件,然后对于平台/开发板相关的目录都使用他们各自目录下的Makefile生成相应库。将前面产生的文件,库           按照config.mdk的配置进行链接,最后生成相应格式文件。

0 0
原创粉丝点击