Kernel 分析.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Kernel 分析

配置结果(make s3c2410_defconfig):生成了.config文件。[root@LinkinPark linux-2.6.22.6]# grep CONFIG_DM9000 * -nwR配置项:CONFIG_DM9000,包含在以下的文件中:1)C源码:CONFIG_DM9000 宏2)drivers/net/Makefile:197:obj-$(CONFIG_DM9000) += dm9000.o3)include/config/auto.conf:132:CONFIG_DM9000=yinclude/linux/autoconf.h:133:#define CONFIG_DM9000 1make uImage 时,[1] .config-转换成了autoconf.h;[2] .config-转化成了auto.conf,auto.conf被顶层的Makefile包含。#make uImageuImage 包含在arch/arm/Makefile中,uImage依赖于vmlinux顶层Makefile包含有这句话:include $(srctree)/arch/$(ARCH)/Makefile顶层Makefile中包含有vmlinux:$(vmlinux-lds)$(vmlinux-init)$(vmlinux-main)$(kallsyms.o) FORCE上面的依赖为vmlinux-init:=$(head-y)$(init-y)head-y:= arch/arm/kernel/head$(MMUEXT).o arch/arm/kernel/init_task.oinit-y:= init/init-y:=$(patsubst %/, %/built-in.o, $(init-y))(init-y = init/built-in.o)vmlinux-main:=$(core-y)$(libs-y)$(drivers-y)$(net-y)core-y:= usr/core-y += kernel/ mm/ fs/ ipc/ security/ crypto/ block/core-y:=$(patsubst %/, %/built-in.o, $(core-y))(core-y = usr/ built-in.okernel/ built-in.o mm/ built-in.o fs/ built-in.o ipc/ built-in.o security/ built-in.o crypto/ built-in.o block/ built-in.o)libs-y:= lib/libs-y:=$(libs-y1)$(libs-y2)libs-y1:=$(patsubst %/, %/lib.a, $(libs-y))libs-y2:=$(patsubst %/, %/built-in.o, $(libs-y))(lib-y = lib/built-in.o lib/lib.a)drivers-y:= drivers/ sound/drivers-y:=$(patsubst %/, %/built-in.o, $(drivers-y))(drivers-y := drivers/ built-in.o sound/ built-in.o)net-y:= net/net-y:=$(patsubst %/, %/built-in.o, $(net-y))(net-y := net/ built-in.o)vmlinux-all:=$(vmlinux-init)$(vmlinux-main)vmlinux-lds:= arch/$(ARCH)/kernel/vmlinux.lds以下为编译时的连接过程:在linux下使用make uImage之后的编译信息。arm-linux-ld -EL -p --no-undefined -X -o vmlinux -T arch/arm/kernel/vmlinux.lds arch/arm/kernel/head.o arch/arm/kernel/init_task.o init/built-in.o --start-group usr/built-in.o arch/arm/kernel/built-in.o arch/arm/mm/built-in.o arch/arm/common/built-in.o arch/arm/mach-s3c2410/built-in.o arch/arm/mach-s3c2400/built-in.o arch/arm/mach-s3c2412/built-in.o arch/arm/mach-s3c24

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档