led.c驱动框架
Makefile:
obj-m += led.o ################################################ KERNEL = /home/linux-3.0.8-FS210_v9 ROOTFS = /opt/filesystem all: make M=`pwd` -C $(KERNEL) modules clean: make M=`pwd` -C $(KERNEL) modules clean install: make M=`pwd` -C $(KERNEL) modules_install INSTALL_MOD_PATH=$(ROOTFS)
led.c:
#include <linux/module.h> #include <linux/init.h> /*内核驱动模块编程*/ int led_init(void) { /*模块入口*/ printk("hello kernel\n"); return 0; } void led_exit(void) { /*模块出口*/ printk("bye!\n"); } /*执行insmod 的时候调用module_init*/ module_init(led_init); /*执行 rmmod 的时侯调用module_exit */ module_exit(led_exit); MODULE_DESCRIPTION("this my first drivers"); MODULE_AUTHOR("zhang san feng"); MODULE_LICENSE("GPL"); //许可证 (必须)