uboot之mkconfig分析

本文解析U-Boot中mkconfig脚本的作用及实现过程,包括创建符号链接、生成config.mk和config.h文件等内容,对于理解U-Boot构建流程至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转自:https://www.cnblogs.com/zou107/p/5082624.html

说明:文件位置:在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的关键。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值