2440 uboot學習筆記 mkconfig

2021-09-09 08:32:50 字數 2388 閱讀 9555

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...