以韦东山老师视频为基础,加入自己的实践
以开发板按键为例,在开发板上运行
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;
volatile unsigned long *gpfdat;
static int second_drv_open(struct inode
Linux驱动初学者指南:自动分配主设备号与创建设备节点

这篇博客基于韦东山老师的视频教程,结合作者的实践经验,详细介绍了如何编写second_drv.c驱动程序,配置makefile,以及编写seconddrvtest.c测试程序,用于在Linux系统中自动分配主设备号并创建设备节点。
最低0.47元/天 解锁文章
1047

被折叠的 条评论
为什么被折叠?



