uboot总结:uboot配置和启动过程2(mkconfig分析)

说明:文件位置:在uboot的目录下,文件名为:mkconfig。本身是一个脚本文件。

它的主要作用的是:
(1)创建一个重要的符号链接
(2)创建一个config.mk文件(在include目录下)
(3)创建一个config.h文件(在include目录下)
 
下面会截距一部分重要的代码来分析
 
1、首先要明白一个参数($1、$2、$3、$4、$5),这是传参
(1)@$(MKCONFIG) $(@:_config=) arm s5pc11x x210 samsung s5pc110 这个是在主Makefile中的配置部分的代码。这里的5个参数将来会传给mkconfig脚本。
$1:arm
$2:s5pc11x
$3:x210
$4:samsung
$5:s5pc110
 
2、判断$1,我们这里的$1不满足里面的条件,会直接跳出while循环
while [ $# -gt 0 ] ; do
    case "$1" in
    --) shift ; break ;;
    -a) shift ; APPEND=yes ;;
    -n) shift ; BOARD_NAME="${1%%_config}" ; shift ;;
    *)  break ;;
    esac
done

 

3、如果BOARD_NAME为空,这将BOARD_NAME的值赋为$1
 
4、如果传进来的参数小于4或者大于6,则退出这个脚本文件
 
5、创建的符号连接:
第一个:在include目录下创建是asm文件,指向asm-arm(46-48行)
第二个:在include目录下创建一个arch文件,指向include/asm-arm/arch-s5pc110
第三个:在include目录下创建一个regs.h文件,指向include/s5pc110.h
第四个:在include目录下删除第二的符号链接asm-$2/arch,在include/asm-arm下创建一个arch文件指向include/arch-s5pc11x
第五个:在include/asm-arm目录下创建一个proc文件,指向include/asm-arm/proc-armv
 
总结:一共创建了4个符号链接。这4个符号链接将来在写代码过程中,头文件包含时非常有用。臂如包含一个头文件可能是:#include <asm/xx.h>
 
6、在include目录下创建一个config.mk文件,这个文件将来会在主Makefile中被调用。
 
7、在include目录下创建一个config.h文件
在这里产生的config.h文件中包含的就是我们的#include <configs/x210_sd.h>,这个h文件是我们移植uboot的关键。

 

posted @ 2015-12-28 15:09  小清奈  阅读(1012)  评论(0编辑  收藏  举报