Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- TARGET = procdriver
- obj-m := procdriver.o
- procdriver-obj+= gpioLib.o
- KDIR:= /home/pi/myRpi/linux
- PWD := $(shell pwd)
- all: gpioLib.o procdriver.c
- $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
- rm -r -f .tmp_versions *.mod.c .*.cmd *.o *.symvers
- gpioLib.o: gpioLib.c gpioLib.h
- gcc -c gpioLib.c -o gpioLib.o
- clean:
- make -C $(KDIR) SUBDIRS=$(PWD) clean
- #include <linux/module.h>
- #include <linux/proc_fs.h>
- #include <linux/seq_file.h>
- #include "gpioLib.h" ////THIS IS THE PROBLEM
- static int __init hello_proc_init(void) {
- int i;
- //initialize GPIO
- procFileStr = proc_create("procdriver", 0, NULL, &hello_proc_fops);
- printk(KERN_DEBUG MODULE_NAME "init procdriver!n");
- for (i=0; i<43; i++)
- {
- gpioSetMode(i, PI_OUTPUT);
- }
- return 0;
- }
- #include "gpioLib.h"
- void gpioSetMode(unsigned gpio, unsigned mode)
- {
- int reg, shift;
- reg = gpio/10;
- shift = (gpio%10) * 3;
- gpioReg[reg] = (gpioReg[reg] & ~(7<<shift)) | (mode<<shift);
- }
- #define PI_ALT3 7
- #define PI_ALT4 3
- #define PI_ALT5 2
- void gpioSetMode(unsigned gpio, unsigned mode);
- pi@raspberrypi:~/myRpi $ make
- gcc -c gpioLib.c -o gpioLib.o
- make -C /home/pi/myRpi/linux SUBDIRS=/home/pi/myRpi modules
- make[1]: Entering directory '/home/pi/myRpi/linux'
- CC [M] /home/pi/myRpi/procdriver.o
- Building modules, stage 2.
- MODPOST 1 modules
- WARNING: "gpioSetMode" [/home/pi/myRpi/procdriver.ko] undefined!
- CC /home/pi/myRpi/procdriver.mod.o
- LD [M] /home/pi/myRpi/procdriver.ko
- make[1]: Leaving directory '/home/pi/myRpi/linux'
- rm -r -f .tmp_versions *.mod.c .*.cmd *.o *.symvers
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement