uboot配置分析(jz2440開發板)

2021-06-23 05:09:45 字數 4054 閱讀 6399

yonzuge學習總結

uboot配置分析

解壓tar xvf u-boot-1.1.6.tar.bz2

打補丁patch -p1<..>

配置make 100ask24x0_config 

編譯make

1、檢視makefile

1.0100ask24x0_config       :       unconfig

@$(mkconfig) $(@:_config=) arm arm920t 100ask24x0 null s3c24x0

mkconfig

100ask24x0

armarm920t

100ask24x0

null

s3c24x0

引數:s0

s1s2

s3s4

s5s6

1.1、mkconfig        := $(srctree)/mkconfig

1.2、srctree         := $(curdir)

2、檢視mkconfig

1.1board_name=""   # name to print in make output

while [ $# -gt 0 ] ; do //$#表示引數的個數,-gt表示大於,-lt表示小於

case "$1" in

--) shift ; break ;;

-n) shift ; board_name="$" ; shift ;;

*)  break ;;

esac

done

[ "$" ] || board_name="$1"

[ $# -lt 4 ] && exit 1

[ $# -gt 6 ] && exit 1

echo "configuring for $ board..."

分析完結果:

//列印下面這句話

configuring for 100ask24x0 board...

3、建立軟鏈結

3.0 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

//建立軟鏈結

分析完走else分支:

cd ./include

rm -f asm

ln -s asm-arm asm

命令檢視結果:

#book@book-desktop:/work/system/u-boot-1.1.6/include$ ls asm -l

#lrwxrwxrwx 1 book book 7 2014-08-13 15:42 asm -> asm-arm

rm -f asm-arm/arch

3.1 if [ -z "$6" -o "$6" = "null" ] ; then

ln -s $arch-$3 asm-$2/arch

else

ln -s $arch-$6 asm-$2/arch

fi分析結果:

走else分支

ln -s arch-s3c24x0 asm-arm/arch

命令檢視結果:

#book@book-desktop:/work/system/u-boot-1.1.6/include$ ls asm-arm/arch -l

#lrwxrwxrwx 1 book book 12 2014-08-13 15:42 asm-arm/arch -> arch-s3c24x0

3.2 if [ "$2" = "arm" ] ; then

rm -f asm-$2/proc

ln -s $proc-armv asm-$2/proc

fi分析結果:

rm -f asm-arm/proc

ln -s proc-armv asm-arm/proc

4、建立config.mk檔案

# create include file for make

#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

分析結果

在./include建立下config.mk

arch   = arm

cpu    = arm920t

board  = 100ask24x0

soc=s3c24x0

5、建立config.h檔案

# create board specific header file

#then

echo >> config.h

else

> config.h              # create new config file

fiecho "/* automatically generated - do not edit */" >>config.h

echo "#include " >>config.h

分析結果:

> config.h         # create new config file

/* automatically generated - do not edit */"

#include

/**************************************config.mk配置分析結果****************************************/

jz2440的時鐘分析

s3c2440有兩個pll phase locked loop 乙個是mpll,乙個是upll。mpll用於cpu及其他外圍器件,upll用於usb。用於產生fclk,hclk,pclk三種頻率,這三種頻率分別有不同的用途 fclk是cpu提供的時鐘訊號。hclk是為ahb匯流排提供的時鐘訊號,ad...

編譯JZ2440開發板的u boot

以前我在大四的時候準備學習linux,然後就去買了塊cortex a8架構的開發板,我當時選的是qt210,可惜哪會完全沒有基礎,根本不能搞定a8強大的資料手冊,而且當時連uboot也不知道,呵呵,當時勇氣真大,一來就買a8板,後面的前景也讓我嘗到了苦頭,對著一塊在當時看來何等高階的板子我壓根不知道...

JZ2440 中斷分析

arm體系結構的7中工作模式 1 使用者模式 usr arm處理器正常的程式執行狀態 2 快速中斷模式 fig 用於高速的資料傳輸或通道處理 3 中斷模式 irq 用於通用的中斷處理 4 管理模式 svc 作業系統使用的保護模式 5 資料訪問終止模式 abt 當資料或指令預取終止時進入該模式,可用於...