嵌入式linux中编写驱动程序的时候用到的头文件问题?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了嵌入式linux中编写驱动程序的时候用到的头文件问题?相关的知识,希望对你有一定的参考价值。
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/fs.h>
#include <linux/init.h>
#include <linux/delay.h>
#include <asm/irq.h>
#include <linux/interrupt.h>
#include <asm/uaccess.h>
//#include <asm/arch/regs-gpio.h>
#include <mach/regs-gpio.h>
//#include <asm/hardware.h>
#include <mach/hardware.h>
#include <linux/device.h>
#include <linux/poll.h>
#include <linux/gpio.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/select.h>
#include <sys/time.h>
#include <errno.h>
这些头文件定义的内容具体是什么?编写驱动程序的时候需要添加这些头文件,但是却不知道什么时候用什么头文件,看一些驱动程序里面好多函数都是没见过的,不知道是在哪个头文件中定义的。高手帮忙指点下啊
#include <linux/kernel.h> 驱动要写入内核,与内核相关的头文件
#include <linux/fs.h> 文件系统头文件
#include <linux/init.h> 初始化头文件
#include <linux/delay.h> 延时头文件
#include <asm/irq.h> 与处理器相关的中断
#include <linux/interrupt.h> 操作系统中断
#include <asm/uaccess.h> 与处理器相关的入口
//#include <asm/arch/regs-gpio.h> 与处理器相关的IO口操作
#include <mach/regs-gpio.h> 同上
//#include <asm/hardware.h> 与处理器相关的硬件
#include <mach/hardware.h> 同上
#include <linux/device.h> 设备驱动文件
#include <linux/poll.h> 轮询文件
#include <linux/gpio.h> 操作系统相关的IO口文件
#include <stdio.h> 标准输入输出
#include <stdlib.h> 标准库
#include <unistd.h>
#include <sys/ioctl.h> IO控制
以下6个是提供的函数中所需的头文件
具体我也不详
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/select.h>
#include <sys/time.h>
#include <errno.h> 参考技术A #include <sys/types.h> 变量类型的头文件,因为linux要兼容各种长度的变量
#include <sys/stat.h> 文件操作的头文件
#include <fcntl.h> 同上
#include <sys/select.h> 同上
#include <sys/time.h> 时间编程的头文件
#include <errno.h> 错误代码头文件
去看看LDD3 每章节的最后总结部分,有重要的函数和其对应的头文件。其实,只要你程序写得多了,积累下来,一看就知道是什么意思。
新手的话,你用source insight查吧 参考技术B 建议安装一个 类似于source insight的软件 碰到未知函数的时候可以搜索一下 就会知道此函数在哪个头文件中定义了 刚开始也许会不太适应 用习惯了 还是蛮不错的 在驱动和内核的学习中还是要很频繁的不断的去内核中查看函数的定义与实现的。总之这个软件对于学习驱动与内核相当有用 参考技术C 您好,这样的情况建议您可以升级到最新版本试一下,或是联系一下官网客服比较好。 参考技术D 楼上的没回答的我知道的几个:
#include <fcntl.h>文件锁函数
#include <sys/time.h>系统时间函数定义
#include <unistd.h>Linux标准函数定义
以上是关于嵌入式linux中编写驱动程序的时候用到的头文件问题?的主要内容,如果未能解决你的问题,请参考以下文章