以韦东山老师视频为基础,加入自己的实践
以开发板按键为例,在开发板上运行
1.second_drv.c文件
#include <linux/module.h> #include <linux/kernel.h> #include <linux/fs.h> #include <linux/init.h> #include <linux/delay.h> #include <linux/device.h> //包含class_create, device_create, ......这些程序 #include <asm/uaccess.h> #include <asm/irq.h> #include <asm/io.h> //2.6.39版本内核为此位置 //之前版本的内核位置可能为 //#include <asm/regs-gpio.h> //#include <asm/hardware.h> #include <mach/regs-gpio.h> #include <mach/hardware.h> //加入两个结构体,用来供内核自动创建主设备号 //主要就是在init和exit两个函数中加入了这两个结构体 static struct class *seconddrv_class; static struct class_device *seconddrv_class_dev; volatile unsigned long *gpfcon; volatil