error: asm/arch/regs-gpio.h: No such file or directory 此类问题的解决办法

注:基于linux2.6.31内核的问题解决方案,其思路适用于其他内核版本。

不少嵌入式Button或是Led驱动程序的头文件都包含<asm/hardware.h>,<asm/arch/regs-gpio.h>和<asm/arch/regs-irq.h>等这几个头文件。在这这些头文件中定义了硬件相关的资源描述,如I/O,中断的宏定义。当我们直接include上述头文件时,就会出现如下的错误。
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下找找看。

根据 ARM-Linux驱动相关头文件知识点里头文件引用的规则,修改一下我们要引用的头文件如下:
#include <mach/hardware.h>
#include <mach/regs-gpio.h>
#include <mach/regs-irq.h>

除上述的几个头文件,如果引用的其他的头文件也出现此类错误,调试的思路是相同的。这个问题我好久前就遇到了。当时没放在心上,就在自己的驱动中补上了缺少的宏定义。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值