u-boot-1.1.6第1阶段分析之make smdk2410_config指令
发布日期:2021-05-08 23:08:17 浏览次数:25 分类:博客文章

本文共 6258 字,大约阅读时间需要 20 分钟。

uboot������������README������������������������uboot���������������������������������������������make xxx_config���������������������make������������������make smdk2410_config���������������������uboot������������������

������uboot-1.1.6���������������������������������Makefile������������������������������

87 SRCTREE        := $(CURDIR)92 MKCONFIG    := $(SRCTREE)/mkconfig1879 smdk2410_config    :    unconfig1880    @$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 NULL s3c24x0

���������u-boot-1.1.6���������������������������������87������������������������������$(CURDIR)������u-boot-1.1.6���������������������������SRCTREE������$(CURDIR)������������uboot������������������������92���������MKCONFIG���������������������mkconfig������������1879���1880���������������������������make smdk2410_config������������������������������������

@$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 NULL s3c24x0

������������������������������������$(var:a=b)���������������������"var"������������������������"a"������������������������������"a"������������������"b"������������������������$@������������������"smdk2410_config"���  "_config="���������_config������������������������$(@:_config=)���������������"smdk2410_config"������"_config"������������������"smdk2410"������������������������������������������������������������������������"make smdk2410_config"������������������������������

          ./mkconfig  smdk2410  arm  arm920t  smdk2410  NULL  s3c24x0  

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

������������makconfig������������������mkconfig������������������������������������������������6���������������������������             

6 # Parameters:  Target  Architecture  CPU  Board [VENDOR] [SOC]

���������������������������make smdk2410_config������������������������Parameters($0)  Target($1)  Architecture($2)  CPU($3)  Board($4)  [VENDOR]($5)  [SOC]($6)

���������������������mkconfig���������

11 APPEND=no    # Default: Create new config file12 BOARD_NAME=""    # Name to print in make output13 14 while [ $# -gt 0 ] ; do15     case "$1" in16     --) shift ; break ;;17     -a) shift ; APPEND=yes ;;18     -n) shift ; BOARD_NAME="${1%%_config}" ; shift ;;19     *)  break ;;20     esac21 done22 23 [ "${BOARD_NAME}" ] || BOARD_NAME="$1"

���������./mkconfig  smdk2410  arm  arm920t  smdk2410  NULL  s3c24x0��� ���������������"--"���"-a"���"-n","*"������������������14~22���������������������������������������������11���12���������������������������������������������������������23������������BOARD_NAME���������������������"smdk2410"���

25 [ $# -lt 4 ] && exit 126 [ $# -gt 6 ] && exit 127 28 echo "Configuring for ${BOARD_NAME} board..."

���25,26���������$#������������������������������-lt���������(less than)���-gt���������(greater than)���&&���������������������������������"exit 1",���������������������������������������6������������������25,26���������������������������������������������28������������������������������������"make smdk2410_config"���������������������������������

30 #31 # Create link to architecture specific headers32 #33 if [ "$SRCTREE" != "$OBJTREE" ] ; then                 /* ��������������������������������������������������� */34     mkdir -p ${OBJTREE}/include35     mkdir -p ${OBJTREE}/include236     cd ${OBJTREE}/include237     rm -f asm38     ln -s ${SRCTREE}/include/asm-$2 asm39    LNPREFIX="../../include2/asm/"40     cd ../include41     rm -rf asm-$242     rm -f asm43    mkdir asm-$244     ln -s asm-$2 asm45 else                                                    /* ������������������������������������������ */46     cd ./include47     rm -f asm48     ln -s asm-$2 asm49 fi50 51 rm -f asm-$2/arch52 53 if [ -z "$6" -o "$6" = "NULL" ] ; then54     ln -s ${LNPREFIX}arch-$3 asm-$2/arch55 else56     ln -s ${LNPREFIX}arch-$6 asm-$2/arch57 fi58 59 if [ "$2" = "arm" ] ; then60     rm -f asm-$2/proc61     ln -s ${LNPREFIX}proc-armv asm-$2/proc62 fi

���33������������������������������������������������������������������������������������������������������������������������������������������������������������������������������33������if������������������������������������else������������������46~48������������cd������������include���������������������������������������������asm���������������������������asm���������������������������asm-$2������������������asm-arm������51������������asm-arm/arch���53������������������������������������������������������������������if���������������������������else���������������������������������������������s3c24x0������������������������������NULL���������������else������������������asm-arm/arch���������������������arch-s3c24x0������������60~61���������������asm-arm/pro���������������������������proc-armv���������

64 #65 # Create include file for Make66 #67 echo "ARCH   = $2" >  config.mk                   /* ������������config.mk������������"ARCH    =arm" */68 echo "CPU    = $3" >> config.mk                   /* ������������"CPU    =arm920t"���config.mk��������� */69 echo "BOARD  = $4" >> config.mk                   /* ������������"BOARD  =smdk2410"���config.mk��������� */70 71 [ "$5" ] && [ "$5" != "NULL" ] && echo "VENDOR = $5" >> config.mk      /* $5������������,��������������������� */72 73 [ "$6" ] && [ "$6" != "NULL" ] && echo "SOC    = $6" >> config.mk      /* ������������"SOC     =S3C24x0���config.mk���������"

 ���64~73���������������������include������������������config.mk������������

 ARCH = arm
 CPU = arm920t
 BOARD = smdk2410
 SOC = s3c24x0

������������������

75 #76 # Create board specific header file77 #78 if [ "$APPEND" = "yes" ]    # Append to existing config file                    79 then80     echo >> config.h81 else82     > config.h        # Create new config file83 fi84 echo "/* Automatically generated - do not edit */" >>config.h85 echo "#include 
" >>config.h86 87 exit 0

 APPEND���������������"no"������������������������������config.h������������84~85������������config.h������������������������config.h������������������������

���������������������������������������������make smdk2410_config������������������

  1. ���������������BOARD_NAME������$1(���������smdk2410)
  2. ���������������/���������������������������������
  3. ������������������Makefile���������������������include/config.mk
  4. ���������������������������������include/config.h(���������������start.S���������������������)
上一篇:linux-2.6.22.6内核启动分析之编译体验
下一篇:Linux下补丁文件生成、打补丁操作(diff、patch)

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月15日 20时57分32秒