barebox简要分析

本文详细介绍了Barebox的Kconfig文件分析,包括SRCARCH变量的设定、配置选项如BOARD_LINKER_SCRIPT和GENERIC_LINKER_SCRIPT的作用,以及Makefile中的编译流程。通过对根目录及arch/arm下的Makefile和Kconfig文件的解读,揭示了Barebox代码结构和配置过程,特别是链接脚本的选择和软链接的创建。
摘要由CSDN通过智能技术生成

Barebox分析

        以前看程序的时候没有仔细看过Kconfig文件,这次分析barebox的时候仔细看了下,我们首先看根目录下的Kconfig文件:

config SRCARCH

        string

        option env="SRCARCH"

 

source "arch/$SRCARCH/Kconfig"

        里面配置了构架,然后就调用构架下面的Kconfig文件了。

        此处变量SRCARCH的值是在根目录下的Makefile中定义的,里面有一句话

SRCARCH        := $(ARCH)

        所以当我们在对barebox进行具体配置前,先设置两个变量。

1. export ARCH=arm

2. export CROSS_COMPILE=arm-linux-

        这两个变量可以这么配置,也可以在Makefile中修改,在166行有

ARCH            ?= sandbox

CROSS_COMPILE   ?=

        修改成

ARCH            ?= arm

CROSS_COMPILE   ?= arm-linux-

        修改完后就可以进行make menuconfig了,当然为了配置方便,我们一般都是使用一些提供的默认配置,在此基础上进行修改,配置文件是在/arch/$(ARCH)/configs/下面

        我们使用make XXX_defconfig命令,在此基础上进行再次配置。

        我们接着去看source "arch/$SRCARCH/Kconfig"下面的Kconfig文件,此处SRCARCH=arm,所以去看arch/ arm /Kconfig下的文件

config BOARD_LINKER_SCRIPT

        bool

        default n

 

config GENERIC_LINKER_SCRIPT

        bool

        default y

        depends on !BOARD_LINKER_SCRIPT

        以上是刚开始的两个选项,从中我们可以看到有两个配置选项,

BOARD_LINKER_SCRIPT 是否有板子的链接脚本,默认是no

GENERIC_LINKER_SCRIPT默认的链接脚本,依赖于

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值