zoukankan      html  css  js  c++  java
  • 分析uboot中 make xxx_config过程

    make xxx_config实质上就是调用了

     

    首先看MKCONFIG:

     

    【注意】SRCTREE=源文件下的目录

    之后的语句:

    @$(MKCONFIG) $(@:_config=) arm arm920t EmbedSky NULL s3c2440就相当于执行

    #mkconfig xxx arm arm920t EmbedSky NULL s3c2440

    #$0   $1  $2 $3  $4  $5  $6

    于是乎就开始执行mkconfig;

     

    [ "${BOARD_NAME}" ] 就是指明xxxx,上面的实例为100ask24x0

    这里就会执行echo “Configuring for 100ask24x0 board...”

    (1)建立软链接

    之后就会执行:

     

    ln -s asm-arm asm

    【注意】

    建立一个链接文件,为什么这么做呢?

    在源文件中调用:

    #include <asm/type.h>     //就相当于 include <asm-arm/type.h>

    -------------------------------------------------------------------------

    继续往下看:

     

     同样生成asm-arm/proc文件。

    (2)生成config.mk文件

    生成config.mk文件:

     

    echo "ARCH = $2" > config.mk  //重定向

    echo "CPU = $3"  >> config.mk  //追加到config.mk

    echo "BOARD = $4" >> config.mk

    之后由于$5等于NULL,$6 = s3c2440,所以:

     

    SOC = s3c24x0会定向到config.mk文件中;

    config.mk内容:(在include文件夹中)

    ARCH = arm

    CPU = arm920t

    BOARD = 100ask24x0

    SOC = s3c24x0

    (3)生成config.h

    在uboot中APPEND = no

    所以执行else分支的语句;

    config.h也是在include文件夹中;

    所以在config.h中的语句是:

     

  • 相关阅读:
    计算数组的逆序对个数
    处理类型(typedef,uisng,auto,decltype)
    constexpr与常量表达式(c++11标准)
    const的限定
    void*类型的指针
    linux终端拖动鼠标总是产生ctrl+c
    Linux hrtimer分析(2)
    Linux hrtimer分析(一)
    Alarm(硬件时钟) init
    第十一章 Android 内核驱动——Alarm
  • 原文地址:https://www.cnblogs.com/linhaostudy/p/7086756.html
Copyright © 2011-2022 走看看