您的位置:首页 > 运维架构 > Linux

从Linux2.6.12到2.6.28,驱动程序发生了哪些变化

2017-08-05 16:32 399 查看
1.“Linux/config.h:
No such file or directory”

     2.6.19之后的内核没有了config.h文件,添加头文件#include <linux/autoconf.h>

2.linux/devfs_fs_kernel.h : No such file or directory”

    没有用devfs文件系统了,改为udev,用cdev结构体,添加头文件#include <linux/cdev.h>

3.error: asm/hardware.h: No such file or directory

   error: asm/arch/regs-gpio.h: No such file or directory

   error: asm/arch/regs-irq.h: No such file or directory

      

   找不到头文件的原因,确实是相关文件夹下没有这些.h的头文件。关于如何确定头文件的位置,可以看下我转载的资料:ARM-Linux驱动相关头文件知识点。你可以先找一下,你include的头文件在不在。

其实,这些头文件只是换了存放的地方。如果你的开发板基于S3C2410,你可以在linux-2.6.31\arch\arm\mach-s3c2410\include\mach文件夹下找到这三个头文件。如果是基于S3C6410,就在linux-2.6.31\arch\arm\mach-s3c6400\include\mach下找找看。   (注: 这里的linux-2.6.31要对应自己的目录文件名,像我就是基于开发板OK6410的,我的文件名就不是linux-2.6.31,而是linux-ok6410。)

根据ARM-Linux驱动相关头文件知识点里头文件引用的规则,修改一下我们要引用的头文件如下:

#include <mach/hardware.h>

#include <mach/regs-gpio.h>
#include <mach/regs-irq.h>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: