天嵌 ARM开发社区

 找回密码
 注册
查看: 2892|回复: 5

请教一下uboot哦。

[复制链接]
zyp568 发表于 2012-8-24 16:07:43 | 显示全部楼层 |阅读模式
\u-boot-1.2.0\include\configs下定义的头文件,例如smdk2410.h,是如何被引用的?
看了目录\u-boot-1.2.0和目录\u-boot-1.2.0\board\smdk2410下的Makefile看不出来怎么引用的额。
Jangel 发表于 2012-8-24 17:29:32 | 显示全部楼层
.h文件一般都是被.C文件调用啊 就是#include "XXX.h"
而至于你说得看不出关系是你应该不清楚
makefile 是指定生成.o 文件 它会自己寻找对应的.c文件
看以看下相关makefile的教程
zhongfushun 发表于 2012-8-25 10:53:37 | 显示全部楼层
应该是执行配置命令之后会自动生成一个文件并包含/board/smdk2410.h
逝去的堕落青春 发表于 2012-8-25 12:18:01 | 显示全部楼层
路过看看:$:$
 楼主| zyp568 发表于 2012-8-27 08:26:39 | 显示全部楼层
已经找到一个比较详细的答案了,分享如下:
编译uboot的第一步是配置:
make ARCH=arm CROSS_COMPILE=arm-linux-gcc smdk2410_config
对应顶层Makefile的以下这句,
smdk2410_config :       unconfig
         @$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 samsung s3c24x0
这句里会调用脚本$(MKCONFIG)也就是mkconfig文件来执行, 看这个脚本的最后这几行:
cat << EOF >> config.h
#define CONFIG_BOARDDIR board/$BOARDDIR
#include <config_defaults.h>
#include <configs/$1.h>
#include <asm/config.h>
EOF
也就是会动态生成include/config.h文件。
config.h文件里包含了: #include <configs/$1.h>,就对应着包含输入的板子头文件如 #include <configs/smdk2410.h>
config.h文件被包含在 include/common.h头文件里。
任何板子相关的文件都会包含common.h,这样也就间接包含了你的板子配置头文件。
ls_core 发表于 2012-8-29 19:19:14 | 显示全部楼层
描述准确,真真的学习应该从Makfile文件学起
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-4-29 05:09 , Processed in 1.046875 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表