1、驱动程序的Makefile
obj-m += globalvar.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
注意:必须有制表符。
2、应用程序的编译命令
gcc -o globalvartest.o globalvartest.c
而不是gcc -o globalvartest.o -c globalvartest.c
3、cat /proc/devices命令的输出分为字符设备和块设备两部分
[root@localhost globalvar]# cat /proc/devices
Character devices:
1 mem
4 /dev/vc/0
4 tty
4 ttyS
5 /dev/tty
5 /dev/console
5 /dev/ptmx
6 lp
7 vcs
10 misc
13 input
14 sound
21 sg
29 fb
116 alsa
128 ptm
136 pts
162 raw
180 usb
189 usb_device
216 rfcomm
252 globalvar
254 pcmcia
Block devices:
1 ramdisk
3 ide0
8 sd
9 md
65 sd
66 sd
67 sd
68 sd
69 sd
70 sd
71 sd
128 sd
129 sd
130 sd
131 sd
132 sd
133 sd
134 sd
135 sd
253 device-mapper
254 mdp
4、主设备号不能与已加载设备重复
5、打印信息
printk(KERN_EMERG "globalvar unregister success\n");
在屏幕上立即打印出信息:上面的KERN_EMERG,和\n是必不可少的
bash: dmesg命令,显示所有输出到linux的信息