日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

TQ210——S5PV210 uboot顶层mkconfig分析

發(fā)布時間:2023/12/20 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TQ210——S5PV210 uboot顶层mkconfig分析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
################################################################################################# # SHELL常用內(nèi)部參數(shù):   # $# —— 傳遞給程序的總的參數(shù)數(shù)目 # $? —— 上一個代碼或者shell程序在shell中退出的情況,如果正常退出則返回0,反之為非0值。 # $* —— 傳遞給程序的所有參數(shù)組成的字符串。 # $n —— 表示第幾個參數(shù),$1 表示第一個參數(shù),$2 表示第二個參數(shù) ... # $0 —— 當(dāng)前程序的名稱 # $@ —— 以"參數(shù)1" "參數(shù)2" ... 形式保存所有參數(shù) # $$ —— 本程序的(進(jìn)程ID號)PID # $! —— 上一個命令的PID # 下面對$?多做些說明,當(dāng)補(bǔ)充shell知識吧 # 切記:$?永遠(yuǎn)表示shell命令最后一次執(zhí)行后的退出狀態(tài),當(dāng)函數(shù)執(zhí)行完畢后,如果又執(zhí)行了其它命 # 令,則$?不再表示函數(shù)執(zhí)行后的狀態(tài),而表示其它命令的退出狀態(tài). #-a 表示(and)兩個條件同時成立 # -eq 表示兩數(shù)值相等 # -gt 表示n1大于n2,即前面大于后面 # -lt 表示n1小于n2,即前面小于后面 # "\(" "\)"是對圓括號的轉(zhuǎn)義,轉(zhuǎn)成普通圓括號"()"來包裹條件表達(dá)式 # if[...]中的表達(dá)式意思為:如果傳遞給mkconfig的參數(shù)個數(shù)($#)等于2個并且第1個變量為 # "-A"($1),則執(zhí)行出錯提示.那么$0,$1,$2,...是什么呢?我們看Makefile中是怎么執(zhí)行make TQ210_config這個偽目標(biāo)的. ########################################################################### # 指定解釋器,使用-e相當(dāng)于 #! /bin/bash #!/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> # ############################################################################ # 默認(rèn)創(chuàng)建一個新的配置文件 # 執(zhí)行make TQ210_config的時候打印輸出單板名TQ210 APPEND=no # Default: Create new config file BOARD_NAME="" # Name to print in make output# SHELL的一些內(nèi)部參數(shù)最開始有描述,以后不再多說! ############################################################################ # 執(zhí)行make TQ210_config的時候,這個過程會調(diào)用uboot根目錄下的mkconfig文件, # 會有6個參數(shù)傳入,如下 # $0 $1 $2 $3 $4 $5 $6 $# # mkconfig TQ210 arm s5pv210 TQ210 samsung s5pv210 6 # BOARD_NAME ARCH CPU BOARD VENDOR SOC # $# -gt 0表示$#不為0時執(zhí)行,顯然這里不會執(zhí)行。 # shift的作用是使$1=$2,$2=$3,$3=$4….,而原來的$1將丟失。因此while循環(huán)的作用是, # 依次處理傳遞給mkconfig腳本的選項(--,-a,-n,-t,*)。由于我們并沒有傳遞給mkconfig任何的選 # 項,因此while循環(huán)中的代碼不起作用。 while [ $# -gt 0 ] ; docase "$1" in--) shift ; break ;;-a) shift ; APPEND=yes ;;-n) shift ; BOARD_NAME="${1%%_config}" ; shift ;;*) break ;;esac done########################################################################### # 如果BOARD_NAME為空則什么都不做;否則賦值為$1,即TQ210 # 此句賦值BOARD_NAME = TQ210 [ "${BOARD_NAME}" ] || BOARD_NAME="$1" ########################################################################### # 檢查如果傳進(jìn)來的變量個數(shù),如果小于4個則退出,若大于6個也要退出 [ $# -lt 4 ] && exit 1 [ $# -gt 6 ] && exit 1########################################################################### # shell中打印出“Configuring for TQ210 board...” echo "Configuring for ${BOARD_NAME} board..."# # Create link to architecture specific headers # ########################################################################### # 如果源碼頂層目錄(SRCTREE)和存放編譯生成文件的目錄(OBJTREE)不同就在 # 存放編譯生成文件的目錄(OBJTREE)建立兩個文件include和include2 # 進(jìn)入include2目錄,刪除asm文件夾 # 建立一個軟連接asm,鏈接指向 ${SRCTREE}/include/asm-arm # 然后到當(dāng)前目錄的上層目錄進(jìn)入include文件夾 # 刪除asm-arm和asm文件夾 # 在當(dāng)前目錄創(chuàng)建asm-arm文件夾,建立軟連接asm指向asm-arm 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 asm ########################################################################### # 如果源碼頂層目錄(SRCTREE)和存放編譯生成文件的目錄(OBJTREE)相同, # 進(jìn)入include目錄,刪除asm目錄,建立一個軟連接asm指向當(dāng)前目錄的asm-arm # elsecd ./includerm -f asmln -s asm-$2 asm fi########################################################################### # 刪除asm-arm/arch,建立軟連接實際上是對鏈接的目標(biāo)進(jìn)行操作, rm -f asm-$2/arch########################################################################### # if [ -z "$6" -o "$6" = "NULL" ] ; thenln -s ${LNPREFIX}arch-$3 asm-$2/arch elseln -s ${LNPREFIX}arch-$6 asm-$2/arch fi# create link for s3c24xx SoC if [ "$3" = "s3c24xx" ] ; thenrm -f regs.hln -s $6.h regs.hrm -f asm-$2/archln -s arch-$3 asm-$2/arch fi# create link for s3c64xx SoC if [ "$3" = "s3c64xx" ] ; thenrm -f regs.hln -s $6.h regs.hrm -f asm-$2/archln -s arch-$3 asm-$2/arch fi# create link for s5pc1xx SoC if [ "$3" = "s5pc1xx" ] ; thenrm -f regs.hln -s $6.h regs.hrm -f asm-$2/archln -s arch-$3 asm-$2/arch fi# create link for s5pc11x SoC if [ "$3" = "s5pc11x" ] ; thenrm -f regs.hln -s $6.h regs.hrm -f asm-$2/archln -s arch-$3 asm-$2/arch fi# create link for s5pv210 SoC ######################################################## # TQ210使用的是s5pv210,所以會執(zhí)行這段代碼 # 刪除regs.h文件, # 創(chuàng)建鏈接文件regs.h指向s5pv210.h # 刪除asm-arm/arch, # 創(chuàng)建軟連接asm-arm/arch指向arch-s5pv210 if [ "$3" = "s5pv210" ] ; thenrm -f regs.hln -s $6.h regs.hrm -f asm-$2/archln -s arch-$3 asm-$2/arch fi# create link for s5p64xx SoC if [ "$3" = "s5p64xx" ] ; thenrm -f regs.hln -s $6.h regs.hrm -f asm-$2/archln -s arch-$3 asm-$2/arch fi# create link for s5p644x SoC if [ "$3" = "s5p644x" ] ; thenrm -f regs.hln -s $6.h regs.hrm -f asm-$2/archln -s arch-$3 asm-$2/arch fi########################################################################### # 如果架構(gòu)是arm架構(gòu),則刪除當(dāng)前目錄(此時當(dāng)前目錄是U-boot源碼頂層目錄/include)下的 # asm-arm/proc目錄建立軟鏈接ln -s proc-armv asm-arm/proc if [ "$2" = "arm" ] ; thenrm -f asm-$2/procln -s ${LNPREFIX}proc-armv asm-$2/proc fi# create link for s3c64xx-mp SoC if [ "$3" = "s3c64xx-mp" ] ; thenrm -f regs.hln -s $6.h regs.hrm -f asm-$2/archln -s arch-$3 asm-$2/arch fi# # Create include file for Make # ########################################################################### # 生成make的頭文件config.mk # ARCH=arm,CPU=s5pv210,BOARD=TQ210,加入到config.h中 # > config.mk是強(qiáng)行覆蓋創(chuàng)建config.mk然后把數(shù)據(jù)導(dǎo)入config.mk中 # VENDOR=samsung,SOC=s5pv210加入到config.mk echo "ARCH = $2" > config.mk echo "CPU = $3" >> config.mk echo "BOARD = $4" >> config.mk[ "$5" ] && [ "$5" != "NULL" ] && echo "VENDOR = $5" >> config.mk[ "$6" ] && [ "$6" != "NULL" ] && echo "SOC = $6" >> config.mk# # Create board specific header file # ################################################################### # 創(chuàng)建指定的配置頭文件,默認(rèn)APPEND=no(本文件開頭有賦值) # 執(zhí)行else,創(chuàng)建新的config.h文件 if [ "$APPEND" = "yes" ] # Append to existing config file thenecho >> config.h else> config.h # Create new config file fi ################################################################### # 在config中會顯示/* Automatically generated - do not edit */ # #include <configs/TQ210.h>加入到config.h中 echo "/* Automatically generated - do not edit */" >>config.h echo "#include <configs/$1.h>" >>config.h# 返回成功狀態(tài) exit 0

總結(jié)

以上是生活随笔為你收集整理的TQ210——S5PV210 uboot顶层mkconfig分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 在线免费观看一区二区 | aⅴ在线免费观看 | 欧美激情婷婷 | av自拍偷拍| 69亚洲精品 | 日韩黄色a级片 | 一区不卡av| 国产精品久线在线观看 | 啪啪一级片 | 亚洲午夜久久久久 | 大奶av| 天天干夜夜夜 | 国产精品视频一区二区三区不卡 | 久久精品中文闷骚内射 | 亚洲第九十七页 | 亚洲综合丁香 | 春色激情站 | a毛片在线免费观看 | 中文字幕一区二区三区免费看 | 午夜激情导航 | 18久久久 | 日日操夜夜爱 | 免费看片视频 | 成人综合影院 | 免费黄网站在线观看 | 一级少妇女片 | 色婷婷av一区二区三区麻豆综合 | 污污网站在线观看 | 亚洲欧美日韩激情 | 欧美日韩亚洲激情 | 丝袜av网站| 三级av在线播放 | 男人扒女人添高潮视频 | 91资源站| 欧美h在线观看 | 三级视频小说 | 日韩av手机在线免费观看 | 黄色网页在线免费观看 | 日本高清视频免费观看 | 久久91视频| 久久精品国产亚洲AV无码麻豆 | 精品久久久久久久久中文字幕 | 午夜性色福利视频 | 国产精品区一区二区三 | 欧美人交a欧美精品 | 日本丰满少妇一区二区三区 | 国产在线观看不卡 | 免费看污片网站 | 无码精品a∨在线观看中文 福利片av | 久久精品欧美一区二区三区不卡 | zzjj国产精品一区二区 | 国产视频xxxx| 夜夜操夜夜干 | 三级免费网站 | 超碰免费成人 | 欧美日韩人妻精品一区在线 | 欧美激情视频在线播放 | 亚洲精品一区二区三区精华液 | 爱情岛论语亚洲入口 | 精品人伦一区二区 | 一级裸体片| 男人天堂亚洲天堂 | 69精品人人人人 | 久久久久9999 | 久久免费黄色网址 | 免费一级特黄特色大片 | 色网站免费在线观看 | 就去吻综合 | 免费国产精品视频 | 操操操操操操 | 樱空桃在线观看 | 男女视频免费网站 | 在线观看的毛片 | 91九色pron| 日韩欧美一级视频 | 啊灬啊灬啊灬秀婷 | 国产永久免费观看 | 狠狠撸视频 | 色七七桃花综合影院 | 成人高清免费 | 性做久久久久久 | 极品尤物魔鬼身材啪啪仙踪林 | av网在线 | 天天做天天躁天天躁 | jizz处女| 国产又粗又黄又爽 | 97人妻精品一区二区三区免 | 国产成人无码aa精品一区 | 黄色录像三级 | 婷婷看片| 一区二区视频在线观看 | 午夜影视免费 | 91av综合 | 黄色精彩视频 | 尤物视频官网 | 国产福利专区 | 中文字字幕在线中文乱码电影 | 中文字幕在线观看免费高清 | 久久精品黄aa片一区二区三区 |