Linux内核头文件与硬件的相关性及其所在的目录位置

来源:互联网 发布:three.js全景图的原理 编辑:程序博客网 时间:2024/06/05 19:33
linux内核根据与体系结构的关系,可以分为以下三大类头文件:

1、<linux/xxx.h> :linux内核标准头文件,与体系结构无关,位于内核源码顶层include目录中。
2、<asm/xxx.h> :与体系结构(CPU Core)相关的头文件,位于具体体系结构目录下的include
        目录中,比如ARM,则位于arch/arm/include。
3、<mach/xxx.h> :与具体的机器machine/板子(SOC)系统相关的头文件,位于某一系统结构(CPU Core)相关
        的特定SOC/machine所在目录下的include目录中。比如对于Atmel SAM91系统的SOC/machine,则相关
        的头文件位于arch/arm/mach-at91/include中。

PS:内核在编译过程中会将以上三个目录include、arch/${ARCH}/include、arch/${ARCH}/mach-XXX/include 作为
默认的头文件搜索目录。

还有其他一些情况,比如对于三星的SOC,除了mach-XXX目录外,还有一个平台(platform)相关的目录,在其中包含
了所有三星的SOC共有的平台相关的代码和头文件,这些目录名以plat开头。相关的头文件在arch/arm/plat-samsung/
include中。在编程时用<plat/xxx.h>方式包含。

以上描述的与体系结构相关的include目录下都分别只有一个目录asm、mach、plat。它们与底层硬件相关性由大到小
依次为:mach > plat > asm。
0 0
原创粉丝点击