uboot之配置分析

2021-07-04 19:55:27 字數 1386 閱讀 2225

1.在uboot原始碼包中分析其中makefile。因為編譯流程為:

1.make mini2440_config 

2.make

2.makefile中有:

mini2440_config : unconfig

@$(mkconfig) $(@:_config=) arm arm920t mini2440 tekkamanninja s3c24x0

//表示執行第乙個make mini2440_config語句時,相當於執行@$(mkconfig) $(@:_config=) arm arm920t mini2440 tekkamanninja s3c24x0

a.而mkconfig變數定義為:mkconfig:=$(srctree)/mkconfig 表示原始碼樹下的mkconfig檔案。

b.$(@:_config=)中$@表示目標mini2440_config;_config= 表示將其中的_config字串替換為空,故替換後mini2440;後面的保持不變

c.故執行make mini2440_config相當於執行命令:

mkconfig mini2440 arm arm920t mini2440 tekkamanninja s3c24x0;

3.分析指令碼檔案mkconfig:

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

//如果board_name定義則不執行,如果未定義則board_name值為$1

//注意$1指的是mini2440,故board_name=mini2440 而且:

//mkconfig mini2440 arm arm920t mini2440 tekkamanninja s3c24x0;

//  $0        $1     $2   $3      $4           $5         $6

4.echo "configuring for $ board..."這句話在make mini2440_config之後就會列印出來。

5.生成一些鏈結檔案

6.echo "arch =$2"> config.mk//"arch=arm"放入新建的config.mk檔案中

echo "cpu  =$3">>config.mk//"cpu=arm920t"追加到 config.mk檔案中 

echo "board=$4">>config.mk//"board=mini2440"追加到 config.mk檔案中

7.[ "$5" ]&&[ "$5"!="null" ]&&echo "vendor=$5">>config.mk//第五個引數引數,輸出並追加入config.mk檔案中

8.新建乙個config.h檔案,內容為:

/*automatically generated=do not edit*/

#include

uboot學習 配置過程分析

一 uboot的功能分析 結合uboot 1.1.16版本說明uboot的配置過程。二 uboot的配置 編譯和鏈結過程分析 結合頂層makefile 編譯乙個可用的uboot.bin檔案一般經過以下步驟 首先是配置,make smdk2410 config,然後是make all完成編譯,最後生成...

u boot之命令分析 6

u boot之命令分析 分析run command run command process macros token,finaltoken 處理巨集 解析傳進來的命令和引數,並將他們提取出來 if argc parse line finaltoken,argv 0 look up command i...

MIPS之u boot流程分析

1 系統上電後 由uboot的鏈結檔案 u boot arch mips cpu u boot.lds知 entry start 程式入口點是 u boot arch mips cpu xburst start.s 2 由la t9,board init f 知跳轉到board init f 函式 ...