uboot的Makefile分析.pdfVIP

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
/chongchongliu 北京邮电大学嵌入式系统协会 E-mail: bupt.embedded.system@ U-boot 的Makefile分析 ccliu 2008-11-2 - 1 - /chongchongliu u-boot 的Makefile分析 U-BOOT是一个LINUX下的工程,在编译之前必须已经安装对应体系结构的交叉编译环境,这 里 只 针 对 ARM , 编 译 器 系 列 软 件 为 ppc_6xx- 。 U - BOOT 的 下 载 地 址 : /projects/u-boot 我下载的是1.1.5版本 要了解一个LINUX工程的结构必须看懂Makefile,尤其是顶层的,没办法,UNIX世界就是 这么无奈,什么东西都用文档去管理、配置。首先在这方面我是个新手,时间所限只粗浅地看 了一些Makefile规则,请各位多多指教。以cpci5200为例: 几个重要的文件分析: u-boot-1.1.5/Makefile u-boot-1.1.5/mkconfig u-boot-1.1.5/config.mk u-boot根目录下的Makefile文件(u-boot-1.1.5/Makefile)它负责配置u-boot 的编译方 式,具体说来包括:使用何种指令集,需包含哪些接口驱动、库等。Makefile 的内容从上到下 分别是:分定义编译环境:使用何种编译器、编译方式、目标文件的生成及它们最终镜像中的 链接次序等。Mkconfig和config.mk在接下来的分析中会涉及到。 在编译U -BOOT之前,先要执行 # make cpci5200_config cpci5200_config 是 Makefile 的一个目标,定义如下: cpci5200_config: unconfig @$(MKCONFIG) -a cpci5200 ppc mpc5xxx cpci5200 esd 其中,unconfig 定义如下: unconfig: @rm -f $(obj)include/config.h $(obj)include/config.mk \ $(obj)board/*/config.tmp $(obj)board/*/*/config.tmp 显然,执行# make cpci5200_config 时,先执行 unconfig 目标,注意不指定输出目标时, obj,src 变量均为空,unconfig 下面的命令清理上一 次执行 make *_config 时生成的头文件 和 makefile 的包含文件。主要是 include/config.h 和 include/config.mk 文件。 然后才执行命令 @$(MKCONFIG) -a cpci5200 ppc mpc5xxx cpci5200 esd $(MKCONFIG)就会被替换成$(SRCTREE)/mkconfig 文件路径, MKCONFIG 是顶层目录下的 mkcofig 脚本文件 (u-boot-1.1.5/mkconfig ),后面五个是传入的参数。Mkconfig 文件的详 细分析见文档末尾。 2 /chongchongliu 注意一下 u-boot 对板卡的分类方法: Target :宿主机平台 Architecture:定义芯片架构(如MIPS、POWERPC、ARM 等) CPU:定义芯片指令集版本(如ARM7 、ARM9 、ARM11 等) Board:芯片厂商,它细分为两类 [VENDOR]:按厂商划分(如AT9200 、S3C44B0 等

您可能关注的文档

文档评论(0)

docindpp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档