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 當資料或指令預取終止時進入該模式,可用於...