QT210 -> u-boot-samsung-dev中的mkconfig檔案注釋

來源:互聯網
上載者:User

此檔案是根據smdkv210single_config配置進行過刪減,可產生smdkv210single_config配置的uboot鏡像,其它配置被刪除,僅供參考。

#!/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]## (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# 對於配置為smdkv210single_config,這裡的參數從$1開始依次為:# $1             $2  $3      $4       $5      $6# smdkv210single arm s5pc11x smdkc110 samsung s5pc110# $# 引用變數的總數量是多少# 當變數總數大於0while [ $# -gt 0 ] ; do# $1 第一個變數case "$1" in# 如果第一個變數值是 --。shift變數順序左移,以前的$2變為$1,$3變為$2,依次類推。break退出迴圈。;;結束case分支。--) shift ; break ;;# 如果第一個變數值是 -a。-a) shift ; APPEND=yes ;;# 如果第一個變數值是 -n,變數順序左移。${1%%_config} 從$1的尾部開始刪除與_config匹配的最長部分,然後返回剩餘部分。變數順序左移-n) shift ; BOARD_NAME="${1%%_config}" ; shift ;;# 如果第一個變數值是 其它,退出迴圈 。*)  break ;;esacdone# 按照傳進來的參數,上面的迴圈直接退出# 如果${BOARD_NAME}值為空白,則BOARD_NAME="$1"。這裡為:BOARD_NAME=smdkv210single[ "${BOARD_NAME}" ] || BOARD_NAME="$1"# 假如參數個數小於4,退出指令碼,設定退出碼為1[ $# -lt 4 ] && exit 1# 假如參數個數大於6,退出指令碼,設定退出碼為1[ $# -gt 6 ] && exit 1# 這裡輸出:Configuring for smdkv210single board...echo "Configuring for ${BOARD_NAME} board..."## Create link to architecture specific headers## 假如$SRCTREE不等於$OBJTREE。這裡相等,兩個變數的值都為此檔案的所在 目錄的路徑if [ "$SRCTREE" != "$OBJTREE" ] ; thenmkdir -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目錄cd ./include# 刪除asm。-f意思為:忽略不存在的檔案,不提示rm -f asm# 這裡是asm符號連結到asm-arm。-s意思為:製作符號連結代替永久連結ln -s asm-$2 asmfi# 這裡是刪除asm-arm/archrm -f asm-$2/arch# 假如$6為空白,或值為NULL。這裡$6值為:s5pc110if [ -z "$6" -o "$6" = "NULL" ] ; thenln -s ${LNPREFIX}arch-$3 asm-$2/archelse#建立符號連結。這裡是asm-arm/arch連結到arch-s5pc110ln -s ${LNPREFIX}arch-$6 asm-$2/archfi# create link for s5pc11x SoC# 假如$3等於s5pc11x。這裡$3值為:s5pc11x,相等if [ "$3" = "s5pc11x" ] ; then# 刪除reg.h        rm -f regs.h# 建立符號連結。reg.h連結到s5pc110.h        ln -s $6.h regs.h# 刪除asm-arm/arch        rm -f asm-$2/arch# 建立符號連結。arch-s5pc11x連結到asm-arm/arch        ln -s arch-$3 asm-$2/archfi# 假如$2等於arm。這裡$2值為:arm,相等if [ "$2" = "arm" ] ; then# 刪除asm-arm/procrm -f asm-$2/proc# 建立符號連結。asm-arm/proc連結到proc-armvln -s ${LNPREFIX}proc-armv asm-$2/procfi## Create include file for Make## 建立新檔案:config.mk,寫入:ARCH   = armecho "ARCH   = $2" >  config.mk# 向檔案:config.mk中添加一行,內容為:CPU    = s5pc11xecho "CPU    = $3" >> config.mk# 向檔案:config.mk中添加一行,內容為:BOARD  = smdkc110echo "BOARD  = $4" >> config.mk# 假如$5存在,且不為字串"NULL",向檔案:config.mk中添加一行,內容為:VENDOR = samsung[ "$5" ] && [ "$5" != "NULL" ] && echo "VENDOR = $5" >> config.mk# 假如$6存在,且不為字串"NULL",向檔案:config.mk中添加一行,內容為:SOC    = s5pc110[ "$6" ] && [ "$6" != "NULL" ] && echo "SOC    = $6" >> config.mk## Create board specific header file## 假如$APPEND等於yes。這裡等於no,見檔案開始處。if [ "$APPEND" = "yes" ]# Append to existing config filethen# 添加空行echo >> config.helse# 建立新檔案> config.h# Create new config filefi# 將字串"/* Automatically generated - do not edit */"添加到檔案config.h中echo "/* Automatically generated - do not edit */" >>config.h# 將字串"#include <configs/$1.h>"添加到檔案config.h中echo "#include <configs/$1.h>" >>config.h# 退出,退出碼:0exit 0

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.