主题 : 编译驱动模块问题!!!!!!!! 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 2296
精华: 0
发帖: 2
金钱: 20 两
威望: 20 点
贡献值: 0 点
综合积分: 4 分
注册时间: 2008-11-09
最后登录: 2009-09-10
楼主  发表于: 2009-08-21 00:38

 编译驱动模块问题!!!!!!!!

大家好!
我在fedora9下编译驱动模块出现了如下错误,上网找了很久都找不出原因来,请大家帮下忙啊!!!!谢谢先~~~
。。。。。。。。。。
/opt/FriendlyARM/mini2440/linux-2.6.29/arch/arm/include/asm/irq.h:4:23: error: mach/irqs.h: No such file or directory
/opt/FriendlyARM/mini2440/projecttest/led_io/led_io.c:29:28: error: mach/regs-gpio.h: No such file or directory
/opt/FriendlyARM/mini2440/projecttest/led_io/led_io.c:30:27: error: mach/hardware.h: No such file or directory
/opt/FriendlyARM/mini2440/projecttest/led_io/led_io.c:33:30: error: mach/regs-clock.h: No such file or directory
/opt/FriendlyARM/mini2440/projecttest/led_io/led_io.c: At top level:
/opt/FriendlyARM/mini2440/projecttest/led_io/led_io.c:44: warning: type defaults to 'int' in declaration of 'led_io_major'
/opt/FriendlyARM/mini2440/projecttest/led_io/led_io.c: In function 'timer_handler':
/opt/FriendlyARM/mini2440/projecttest/led_io/led_io.c:62: error: implicit declaration of function 's3c2410_gpio_setpin'
/opt/FriendlyARM/mini2440/projecttest/led_io/led_io.c:62: error: 'S3C2410_GPF4' undeclared (first use in this function)
/opt/FriendlyARM/mini2440/projecttest/led_io/led_io.c: In function 'io_release':
/opt/FriendlyARM/mini2440/projecttest/led_io/led_io.c:89: warning: unused variable 'dev'
/opt/FriendlyARM/mini2440/projecttest/led_io/led_io.c: In function 'io_ioctl':
/opt/FriendlyARM/mini2440/projecttest/led_io/led_io.c:122: error: 'S3C2410_GPF5' undeclared (first use in this function)
/opt/FriendlyARM/mini2440/projecttest/led_io/led_io.c: At top level:
/opt/FriendlyARM/mini2440/projecttest/led_io/led_io.c:167: warning: initialization from incompatible pointer type
/opt/FriendlyARM/mini2440/projecttest/led_io/led_io.c: In function 'led_io_init':
/opt/FriendlyARM/mini2440/projecttest/led_io/led_io.c:208: error: implicit declaration of function 's3c2410_gpio_cfgpin'
/opt/FriendlyARM/mini2440/projecttest/led_io/led_io.c:208: error: 'S3C2410_GPF4' undeclared (first use in this function)
/opt/FriendlyARM/mini2440/projecttest/led_io/led_io.c:208: error: 'S3C2410_GPF4_OUTP' undeclared (first use in this function)
/opt/FriendlyARM/mini2440/projecttest/led_io/led_io.c:211: warning: assignment from incompatible pointer type
/opt/FriendlyARM/mini2440/projecttest/led_io/led_io.c:213: warning: assignment makes integer from pointer without a cast
/opt/FriendlyARM/mini2440/projecttest/led_io/led_io.c:217: error: 'S3C2410_GPF5' undeclared (first use in this function)
/opt/FriendlyARM/mini2440/projecttest/led_io/led_io.c:217: error: 'S3C2410_GPF5_OUTP' undeclared (first use in this function)

------------------------------------------------------------------------------------------------------------------
Makefiel
------------------------------------------------------
obj-m += led_io.o

KERN_DIR = /opt/FriendlyARM/mini2440/linux-2.6.29/

all:
    $(MAKE) -C $(KERN_DIR) M=$(PWD) modules

clean_mod:
    rm -rf *.o
    rm -rf *.mod.*
    rm -rf *.ko
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2009-08-21 10:13
要正确编译这个模块,你必须先***正确****配置 /opt/FriendlyARM/mini2440/linux-2.6.29/里的内核源代码。
步骤参考手册相关章节
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
大家互相帮忙一下可以吗?请大家互相帮忙一下啊!
级别: 新手上路
UID: 27546
精华: 0
发帖: 40
金钱: 210 两
威望: 42 点
贡献值: 0 点
综合积分: 80 分
注册时间: 2010-08-27
最后登录: 2013-09-17
2楼  发表于: 2011-03-09 19:34
   想请教一下~正确的配置也可以用原来的配置文件像.config文件吧?我这个现在也遇到头大了!!希望能给回复……   
级别: 新手上路
UID: 21298
精华: 0
发帖: 26
金钱: 130 两
威望: 26 点
贡献值: 0 点
综合积分: 52 分
注册时间: 2010-05-14
最后登录: 2017-09-13
3楼  发表于: 2011-03-28 01:09
我也有同样的疑问,怎么配置?!
级别: 新手上路
UID: 39576
精华: 0
发帖: 5
金钱: 25 两
威望: 5 点
贡献值: 0 点
综合积分: 10 分
注册时间: 2011-03-10
最后登录: 2011-11-11
4楼  发表于: 2011-03-28 17:02
版主讲下怎样配置吧,本人也是遇到了这样的问题,卡住了
级别: 新手上路
UID: 47972
精华: 0
发帖: 2
金钱: 10 两
威望: 2 点
贡献值: 0 点
综合积分: 4 分
注册时间: 2011-05-26
最后登录: 2011-06-19
5楼  发表于: 2011-06-19 10:08
怎么没有人回答呢,我也遇到同样的问题,先前在我的电脑上都可以编译通过,但后来重新装过系统后,就出现找不到MACH目录下的头文件,一直困扰,觉得是不是某些库没有装上?等待高人回答……
忘记了思念的负担~
级别: 侠客
UID: 43227
精华: 0
发帖: 81
金钱: 410 两
威望: 82 点
贡献值: 0 点
综合积分: 162 分
注册时间: 2011-04-14
最后登录: 2013-02-21
6楼  发表于: 2012-03-06 20:46
这个问题,并不是表面上说的没有那几个文件,而是你内核哪个模块没配置好的原因
忘记了思念的负担~
级别: 侠客
UID: 43227
精华: 0
发帖: 81
金钱: 410 两
威望: 82 点
贡献值: 0 点
综合积分: 162 分
注册时间: 2011-04-14
最后登录: 2013-02-21
7楼  发表于: 2012-03-12 20:50

 回 6楼(lyl028) 的帖子

具体原因是由于,可能你在你的内核目录执行了make clean 或make distclean这些指令,这些命令会清除一些配置文件如include/config/auto.con和一些头文件,从而当你在驱动程序目录中执行make 的时候,它进入到内核目录的makefile中读取相应规则编译,而makefile又与config等文件有关联