Advertisement
Guest User

Untitled

a guest
Dec 3rd, 2016
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.65 KB | None | 0 0
  1. TARGET = procdriver
  2.  
  3. obj-m := procdriver.o
  4. procdriver-obj+= gpioLib.o
  5.  
  6. KDIR:= /home/pi/myRpi/linux
  7. PWD := $(shell pwd)
  8.  
  9. all: gpioLib.o procdriver.c
  10. $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
  11. rm -r -f .tmp_versions *.mod.c .*.cmd *.o *.symvers
  12.  
  13. gpioLib.o: gpioLib.c gpioLib.h
  14. gcc -c gpioLib.c -o gpioLib.o
  15.  
  16. clean:
  17. make -C $(KDIR) SUBDIRS=$(PWD) clean
  18.  
  19. #include <linux/module.h>
  20. #include <linux/proc_fs.h>
  21. #include <linux/seq_file.h>
  22.  
  23. #include "gpioLib.h" ////THIS IS THE PROBLEM
  24.  
  25.  
  26.  
  27.  
  28. static int __init hello_proc_init(void) {
  29. int i;
  30.  
  31. //initialize GPIO
  32. procFileStr = proc_create("procdriver", 0, NULL, &hello_proc_fops);
  33. printk(KERN_DEBUG MODULE_NAME "init procdriver!n");
  34. for (i=0; i<43; i++)
  35. {
  36. gpioSetMode(i, PI_OUTPUT);
  37. }
  38.  
  39. return 0;
  40. }
  41.  
  42. #include "gpioLib.h"
  43.  
  44. void gpioSetMode(unsigned gpio, unsigned mode)
  45. {
  46. int reg, shift;
  47.  
  48. reg = gpio/10;
  49. shift = (gpio%10) * 3;
  50.  
  51. gpioReg[reg] = (gpioReg[reg] & ~(7<<shift)) | (mode<<shift);
  52. }
  53.  
  54. #define PI_ALT3 7
  55.  
  56. #define PI_ALT4 3
  57.  
  58. #define PI_ALT5 2
  59.  
  60. void gpioSetMode(unsigned gpio, unsigned mode);
  61.  
  62. pi@raspberrypi:~/myRpi $ make
  63. gcc -c gpioLib.c -o gpioLib.o
  64.  
  65. make -C /home/pi/myRpi/linux SUBDIRS=/home/pi/myRpi modules
  66. make[1]: Entering directory '/home/pi/myRpi/linux'
  67. CC [M] /home/pi/myRpi/procdriver.o
  68. Building modules, stage 2.
  69. MODPOST 1 modules
  70. WARNING: "gpioSetMode" [/home/pi/myRpi/procdriver.ko] undefined!
  71. CC /home/pi/myRpi/procdriver.mod.o
  72. LD [M] /home/pi/myRpi/procdriver.ko
  73. make[1]: Leaving directory '/home/pi/myRpi/linux'
  74. rm -r -f .tmp_versions *.mod.c .*.cmd *.o *.symvers
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement