uboot配置过程详解2

本文详细解析了U-Boot的配置过程,特别是`mkconfig`脚本如何创建`include/config.mk`文件,并在主Makefile中被提取。配置的主要目的是为编译阶段提供目标CPU架构等相关变量,简化不同开发板的配置和编译工作。配置生成的`config.h`和`autoconfig.mk`文件影响编译过程中的条件编译,实现可移植性。整个配置过程涉及多个文件间的相互关联,字符串匹配是配置过程的关键,错误可能导致不易排查的问题。
摘要由CSDN通过智能技术生成

1、mkconfig(123-129行)创建include/config.mk文件。这个config.mk在主Makefile的133行被提取。
(1)创建include/config.mk文件是为了让Makefile第133行去包含。
(2)思考:uboot的配置和编译过程的配合。编译的时候需要ARCH=arm、CPU=XX等这些变量来指导编译
(因为你编译时必须知道目标CPU的架构是什么,目标CPU是那款CPU等等这些才可以指导编译,编译的过
程需要这些东西,那么配置就是为编译提供这些东西的),配置的时候就是为编译阶段提供这些变量。
那为什么不在Makefile中直接定义这些变量去使用,而要在mkconfig脚本中创建config.mk文件然后又在
Makefile中include(提取)这些文件呢?主要原因第一:直接在Makefile中修改的话,因为你要在Makefil
中定义修改大量东西,对人来说不一定能记得这些东西。譬如说同时一个人维护了3块或更多开发板,你不
可能记得每一块板子是怎么弄的,而我们像下面代码这样把每块板子在主Makefile中的参数配置好。用的
时候只需要make xxx对应板子的目标(x210_sd_config )就可以了。
x210_sd_config : unconfig
@$(MKCONFIG) $(@:_config=) arm s5pc11x x210 samsung s5pc110
@echo “TEXT_BASE = 0xc3e00000” > $(obj)board/samsung/x210/config.mk
因为mkconfig中的$1- 6 最 终 来 源 于 主 M a k e f i l e 中 这 三 行 代 码 。 第 一 行 目 标 名 x 21 0 s d c o n f i g 就 代 表 对 应 的 一 款 开 发 板 。 这 样 我 们 就 可 以 把 不 同 的 几 块 开 发 板 分 别 定 义 一 个 目 标 名 , 然 后 设 置 好 传 参 , 用 的 时 候 只 需 要 m a k e x x x 对 应 的 开 发 板 目 标 名 称 就 行 了 , 不 必 要 记 细 节 。 这 里 这 样 做 是 为 了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值