驅動編程中的頭文件與內核源碼的關係

前言

在編寫嵌入式LINUX驅動程序時,需要添加很多頭文件,這些頭文件均位於嵌入式LINUX源碼中,因此編譯驅動前,應先安裝嵌入式LINUX源碼,並至少對嵌入式LINUX內核編譯一次。

這些頭文件根據所處的位置不同,可以分爲四種類型:
 

#include <linux/miscdevice.h>
#include <asm/irq.h>
#include <plat/gpio-cifg.h>
#include <mach/hardware.h>


假定嵌入式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有關。系統移植,通常是在板級上折騰。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章