• 分析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中的语句是:

     

  • 相关阅读:
    Docker容器管理神器
    查看MySQL连接状态
    使用 Docker 镜像安装 Radicale3
    Java文档注释的使用
    Hibernate依赖问题
    WPF HelixToolkit 3D
    二分法
    比较 React vue, 单向绑定 双向绑定 优缺点
    7 个杀手级的 JS 一行代码
    js中??和?.的意思
  • 原文地址:https://www.cnblogs.com/linhaostudy/p/7086756.html
Copyright © 2020-2023  润新知