mkconfig
#!/bin/sh -e
# 2019/1/17 韋東山學習筆記
#board_name="" # name to print in make output
#mkconfig 100ask24x0 arm arm920t 100ask24x0 null s324x0
# $0 $1 $2 $3 $4 $5 $6
#只要引數個數大於0,檢查第乙個引數,--,-a,-n,*
while [ $# -gt 0 ] ; do
case "$1" in
--) shift ; break ;;
-n) shift ; board_name="$" ; shift ;;
*) break ;;
esac
done
#board_name=100ask24x0
[ "$" ] || board_name="$1"
#如果引數個數小於4就退出,如果大於6就退出
[ $# -lt 4 ] && exit 1
[ $# -gt 6 ] && exit 1
#回顯echo "configuring for $ board..."
## create link to architecture specific headers
##根據makefile,srctree=curdir,objtree=curdir,curdir為當前目錄
#執行else,建立asm-arm鏈結檔案
if [ "$srctree" != "$objtree" ] ; then
mkdir -p $/include
mkdir -p $/include2
cd $/include2
rm -f asm
ln -s $/include/asm-$2 asm
lnprefix="../../include2/asm/"
cd ../include
rm -rf asm-$2
rm -f asm
mkdir asm-$2
ln -s asm-$2 asm
else
cd ./include
rm -f asm
ln -s asm-$2 asm
firm -f asm-$2/arch
#引數6不為空,執行else
#lnprefix變數為空,所以相當於arch-s324x0 asm-arm/arch,
#把asm-arm/arch的鏈結檔案指向arch-s324x0
if [ -z "$6" -o "$6" = "null" ] ; then
ln -s $arch-$3 asm-$2/arch
else
ln -s $arch-$6 asm-$2/arch
fi#建立鏈結檔案
if [ "$2" = "arm" ] ; then
rm -f asm-$2/proc
ln -s $proc-armv asm-$2/procfi#
# create include file for make
##'>'代表新建檔案config.mk,'>>'代表追加
#config.mk內容:
#arch = arm
#cpu = arm920t
#board = 100ask24x0
echo "arch = $2" > config.mk
echo "cpu = $3" >> config.mk
echo "board = $4" >> config.mk
#第5個引數等於null,則不追加
#soc = s324x0
[ "$5" ] && [ "$5" != "null" ] && echo "vendor = $5" >> config.mk
[ "$6" ] && [ "$6" != "null" ] && echo "soc = $6" >> config.mk
## create board specific header file
#then
echo >> config.h
else
> config.h # create new config file
fi#config.h內容
#/* automatically generated - do not edit */
##include echo "/* automatically generated - do not edit */" >>config.h
echo "#include " >>config.h
exit 0
2440學習筆記2
s3c2440系統通過異常向量表安裝異常中斷處理程式。即將異常向量表指向異常中斷處理程式的入口,實現面向異常中斷的跳轉,異常向量中斷的的入口位址時固定的 0x00 0x1c 系統執行到滿足異常中斷時,系統將自動跳入相應的異常中斷向量表中,而在異常向量表中儲存的正是利用跳轉指令或ldr指令指向該中斷的...
JZ2440學習筆記
1.easyopenjtag工具用於為目標板初次燒寫u boot再合適不過了。2.燒寫核心和檔案系統使用tftp nfs,速度是很快的哦。toc 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下markdown的基...
Uboot學習筆記(三)Uboot編譯過程分析
mkconfig分析 makefile分析 通過閱讀訊為提供的使用手冊,我們可以知道三星exynos4412的uboot的編譯是通過呼叫build uboot.sh來實現的,這個指令碼檔案通過傳入引數的不同來生成不同記憶體大小 emmc大小的核心板的uboot.bin二進位制檔案,例如 scp封裝2...