u-boot配置过程(1)

来源:互联网 发布:淘宝店铺链接 编辑:程序博客网 时间:2024/05/16 04:33

分析配置过程:

Makefile:make 100ask24x0_configMKCONFIG:= $(SRCTREE)/mkconfig100ask24x0_config:unconfig@$(MKCONFIG) $(@:_config=) arm arm920t 100ask24x0 NULL s3c24x0//mkconfig  100ask24x0  arm arm920t 100ask24x0 NULL s3c24x0


执行下列脚本:
mkconfig:

mkconfig  100ask24x0  arm arm920t 100ask24x0 NULL s3c24x0:#!/bin/sh -e# Script to create header files and links to configure   //创建头文件和相关链接去配置# U-Boot for a specific board.//为某个单板## Parameters:  Target  Architecture  CPU  Board [VENDOR] [SOC]   //参数:目标,架构,cpu,单板,vendor,型号## (C) 2002-2006 DENX Software Engineering, Wolfgang Denk <wd@denx.de>#APPEND=no# Default: Create new config fileBOARD_NAME=""# Name to print in make output//mkconfig  100ask24x0  arm arm920t 100ask24x0 NULL s3c24x0// $0        $1          $2   $3    $4          $5  $6while [ $# -gt 0 ] ; do      //参数个数大于0case "$1" in//参数1无匹配不执行--) shift ; break ;;-a) shift ; APPEND=yes ;;-n) shift ; BOARD_NAME="${1%%_config}" ; shift ;;*)  break ;;esacdone[ "${BOARD_NAME}" ] || BOARD_NAME="$1"  //没有定义BOARD_NAME ,则让 BOARD_NAME=100ask24x0[ $# -lt 4 ] && exit 1      //  参数个数大于4,参数为5[ $# -gt 6 ] && exit 1    //  参数个数小于6echo "Configuring for ${BOARD_NAME} board..."    //打印这句话## Create link to architecture specific headers   #if [ "$SRCTREE" != "$OBJTREE" ] ; then//SRCTREE和OBJTREE相等mkdir -p ${OBJTREE}/includemkdir -p ${OBJTREE}/include2cd ${OBJTREE}/include2rm -f asmln -s ${SRCTREE}/include/asm-$2 asmLNPREFIX="../../include2/asm/"cd ../includerm -rf asm-$2rm -f asmmkdir asm-$2ln -s asm-$2 asmelse/* 在include目录下删除asm  ,创建一个新的asm 链接指向 asm-arm*/ cd ./includerm -f asmln -s asm-$2 asm    fi

rm -f asm-$2/arch//删除asm-arm/archif [ -z "$6" -o "$6" = "NULL" ] ; then//假如参数6为0或为空ln -s ${LNPREFIX}arch-$3 asm-$2/archelseln -s ${LNPREFIX}arch-$6 asm-$2/arch    // 创建一个asm-arm/arch 链接  指向 arch-s3c24x0 fiif [ "$2" = "arm" ] ; thenrm -f asm-$2/proc// 删除asm-arm/procln -s ${LNPREFIX}proc-armv asm-$2/proc    //创建一个asm-arm/proc 链接  指向 proc-armv 

fi## Create include file for Make#echo "ARCH   = $2" >  config.mk      //创建config.mk,并输入ARCH  =  armecho "CPU    = $3" >> config.mk     //追加CPU   =  arm920t写入 config.mkecho "BOARD  = $4" >> config.mk    /* config.mk 的内容ARCH  =  arm   CPU   =  arm920t   BOARD =  100ask24x0    SOC   =  s3c24x0 */

[ "$5" ] && [ "$5" != "NULL" ] && echo "VENDOR = $5" >> config.mk  //参数5为空[ "$6" ] && [ "$6" != "NULL" ] && echo "SOC    = $6" >> config.mk  ## Create board specific header file#if [ "$APPEND" = "yes" ]# Append to existing config file//APPEND = nothenecho >> config.helse> config.h# Create new config file   //创建一个config.hfiecho "/* Automatically generated - do not edit */" >>config.hecho "#include <configs/$1.h>" >>config.h//config.h 的内容为  /* Automatically generated - do not edit */    //"#include <configs/100ask24x0.h>"    


exit 0


总结:
Create link to architecture specific headers:


Create include file for Make:


Create board specific header file:




0 0
原创粉丝点击