驱动编程中的头文件与内核源码的关系

前言

在编写嵌入式LINUX驱动程序时,需要添加很多头文件,这些头文件均位于嵌入式LINUX源码中,因此编译驱动前,应先安装嵌入式LINUX源码,并至少对嵌入式LINUX内核编译一次。

这些头文件根据所处的位置不同,可以分为四种类型:
 

#include 
#include 
#include 
#include 


假定嵌入式LINUX内核源码的安装目录为“KERNEL_DIR/”

1. linux/xxxx.h 为系统级文件,是“KERNEL_DIR/include/linux/”目录里的头文件,LINUX系统通用文件,与平台无关;
2. asm/xxxx.h 为体系级文件,是“KERNEL_DIR/arch/arm/include/asm/”目录里的头文件,ARM体系的通用文件,与ARM相关;
3. plat/xxxx.h 为平台级文件,是“KERNEL_DIR/arch/arm/plat-samsunmg/include/plat/”目录里的头文件,三星ARM平台专用文件,与三星的ARM相关;
4. mach/xxxx.h 为板级文件,是“KERNEL_DIR/arch/arm/mach-sec64xx/include/mach/”目录里的文件,三星S3C64XX系列的专用文件,与S3C64XX有关。系统移植,通常是在板级上折腾。

你可能感兴趣的:(linux,kernel)