uboot顶层config.mk分析】的更多相关文章

/** ****************************************************************************** * @author    Maoxiao Hu * @version   V1.0.0 * @date       Dec-2014 ****************************************************************************** * < COPYRIGHT 2014 IS…
uboot顶层目录中的config.mk定义了确定了当前执行makefile所对应的源文件目录.目标文件目录,编译的程序编译.连接的选项,以及目标文件生成的规则等等.它被包含在顶层的makefile以及各个子目录的makefile中,可以说算是一个全局的makefile包含文件. ifneq ($(OBJTREE),$(SRCTREE))                         //判断目标目录和源文件目录是否一样,如果不一样下边的有效 ifeq ($(CURDIR),$(SRCTREE…
1. 设置obj与src ifneq ($(OBJTREE),$(SRCTREE)) ifeq ($(CURDIR),$(SRCTREE)) dir := else dir := $(subst $(SRCTREE)/,,$(CURDIR)) endif obj := $(if $(dir),$(OBJTREE)/$(dir)/,$(OBJTREE)/) src := $(if $(dir),$(SRCTREE)/$(dir)/,$(SRCTREE)/) $(shell mkdir -p $(o…
说明:文件位置:在uboot的目录下,文件名为:config.mk.是一个makefile文件,以后会被主Makefile调用. 它的主要作用的是: (1)具体的设置交叉编译工具链接(主Makefile中也有设置交叉编译工具链) (2)加载include/autoconfig.mk文件(这个文件是在主Makefile中生成的) (3)指定-Ttext链接地址 (4)makefile的推导规则   下面来具体的分析代码: 1.设置交叉编译工具链…
浏览一下U-Boot各个子目录下的Makefile可以看到,几乎他们都会包含$(TOPDIR)/config.mk,那么这个文件进行了什么操作呢?简单概括:读入include/config.mk.include/autoconf.mk,指定ARCH CPU SoC Board等重要信息,并且加入各个层次上的编译选项:初始化编译处理选项.链接选项:最后有一个很重要的变量定义: cmd_link_o_target = $(if $(strip $1),\ $(LD) $(LDFLAGS) -r -o…
uboot的源文件众多,学习庞然大物首先找到脊椎--顶层的makfile,逐一破解.但是,uboot的makefile同样是一个庞然大物,所以也要找到它的主线.倘若过分专注部分细节,很难做到把握全局,实际上也不可能很好理解细节. 介于此,笔者已经写了一篇uboot makefile整体解析,可以先从主体上把握makefile.然后,再读这篇makefile强大功能实现的细节,才能做到循序渐进. 说明:uboot顶层makefile的注释机会全部源码都搬上来了,而注释都是黑体加粗以与源码有强烈的区…
1.u-boot制作命令 make forlinx_nand_ram256_config: make all; 2.顶层mkconfig分析,参考 U-BOOT顶层目录mkconfig分析 mkconfig脚本执行后会生成以下3个文件,这些文件中提供的变量会在Makefile中其它地方使用. MKCONFIG := $(SRCTREE)/mkconfig forlinx_nand_ram256_config : unconfig @$(MKCONFIG) smdk6410 arm s3c64xx…
浏览各个子Makefile可以发现,他们都会在文件的后面包含rules.mk,这个文件的作用就是更新源文件的依赖,并生成各种.depend文件. _depend: $(obj).depend # Split the source files into two camps: those in the current directory, and # those somewhere else. For the first camp we want to support CPPFLAGS_<fname…
概述 重定位(relocate)代码将BootLoader自身由Flash复制到SDRAM,以便跳转到SDRAM执行.之所以需要进行重定位是因为在Flash中执行速度比较慢,而系统复位后总是从0x00000000地址取指. 重定位代码,位于/U-Boot/cpu/s3c44b0/start.S : relocate: adr r0, _start ldr r1, _TEXT_BASE cmp     r0, r1 beq     stack_setup ldr r2, _armboot_star…
转自:http://blog.csdn.net/wqx521/article/details/52469759 # (C) Copyright 2000-2008 # Wolfgang Denk, DENX Software Engineering, wd@denx.de. # # See file CREDITS for list of people who contributed to this # project. # # This program is free software; yo…