我用的内核是linux-2.6.38
Makefile文件如下:
1 ARCH = arm
2 CROSS_COMPILE = arm-linux-
3
4 obj-m := dht11.o
5 KDIR := /opt/FriendlyARM/tiny6410/linux/linux-2.6.38
6 PWD := $(shell pwd)
7 modules:
8 $(MAKE) -C $(KDIR) M=$(PWD) modules
9 clean:
10 $(MAKE) -C $(KDIR) M=$(PWD) clean
包含的头文件有:
1 #include <linux/miscdevice.h>
2 #include <linux/delay.h>
3 #include <asm/irq.h>
4 #include <mach/regs-gpio.h>
5 #include <mach/hardware.h>
6 #include <linux/kernel.h>
7 #include <linux/module.h>
8 #include <linux/init.h>
9 #include <linux/mm.h>
10 #include <linux/fs.h>
11 #include <linux/types.h>
12 #include <linux/delay.h>
13 #include <linux/moduleparam.h>
14 #include <linux/slab.h>
15 #include <linux/errno.h>
16 #include <linux/ioctl.h>
17 #include <linux/cdev.h>
18 #include <linux/string.h>
19 #include <linux/list.h>
20 #include <linux/pci.h>
21 #include <linux/gpio.h>
22 #include <asm/uaccess.h>
23 #include <asm/atomic.h>
24 #include <asm/unistd.h>
编译的时候出错提示:
make -C /opt/FriendlyARM/tiny6410/linux/linux-2.6.38 M=/opt/FriendlyARM/tiny6410/linux/mydrv/drive modules
make[1]: Entering directory `/opt/FriendlyARM/tiny6410/linux/linux-2.6.38'
CC [M] /opt/FriendlyARM/tiny6410/linux/mydrv/drive/dht11.o
/opt/FriendlyARM/tiny6410/linux/mydrv/drive/dht11.c: In function 'DHT11_read_byte':
/opt/FriendlyARM/tiny6410/linux/mydrv/drive/dht11.c:39:3: error: implicit declaration of function 's3c2410_gpio_getpin'
/opt/FriendlyARM/tiny6410/linux/mydrv/drive/dht11.c:39:3: error: implicit declaration of function 'S3C2410_GPF'
/opt/FriendlyARM/tiny6410/linux/mydrv/drive/dht11.c: In function 'DHT11_read':
/opt/FriendlyARM/tiny6410/linux/mydrv/drive/dht11.c:78:2: error: implicit declaration of function 's3c2410_gpio_cfgpin'
/opt/FriendlyARM/tiny6410/linux/mydrv/drive/dht11.c:78:41: error: 'S3C2410_GPIO_OUTPUT' undeclared (first use in this function)
/opt/FriendlyARM/tiny6410/linux/mydrv/drive/dht11.c:78:41: note: each undeclared identifier is reported only once for each function it appears in
/opt/FriendlyARM/tiny6410/linux/mydrv/drive/dht11.c:79:2: error: implicit declaration of function 's3c2410_gpio_setpin'
/opt/FriendlyARM/tiny6410/linux/mydrv/drive/dht11.c:84:41: error: 'S3C2410_GPIO_INPUT' undeclared (first use in this function)
/opt/FriendlyARM/tiny6410/linux/mydrv/drive/dht11.c: In function 'DHT11_init_module':
/opt/FriendlyARM/tiny6410/linux/mydrv/drive/dht11.c:164:41: error: 'S3C2410_GPIO_OUTPUT' undeclared (first use in this function)
make[2]: *** [/opt/FriendlyARM/tiny6410/linux/mydrv/drive/dht11.o] Error 1
make[1]: *** [_module_/opt/FriendlyARM/tiny6410/linux/mydrv/drive] Error 2
请问下怎么解决这问题呢?