ubuntu设备驱动是由装载模块的方式进行的
2.6.x核心模块在http://www.ibm.com/developerworks/cn/linux/l-module26/上可以下载
按照定义创建驱动文件
创建c文件 Drive.c
#include "linux/kernel.h"
#include "linux/module.h"
#include "linux/fs.h"
#include "linux/init.h"
#include "linux/types.h"
#include "linux/errno.h"
#include "linux/uaccess.h"
#include "linux/kdev_t.h"
#define MAX_SIZE 1024
int my_open(struct inode *inode, struct file *file);
int my_release(struct inode *inode, struct file *file);
ssize_t my_read(struct file *file, char __user *user, size_t t, loff_t *f);
ssize_t my_write(struct file *file, const char __user *user, size_t t, loff_t *f);
char message[MAX_SIZE] = "this is arafat(very shuai boy)'s Drive"; //打开设备时会显示的消息
int device_num;//设备号
char* devName = "arafatsDrive";//设备名
struct file_operations pStruct =
{
open:my_open,
release:my_release,
read:my_read,
write:my_write,
};
/* 注册 */
int init_module()
{
int ret;
ret = register_chrd

本文介绍如何在Ubuntu系统中从零开始制作一个简单的字符设备驱动,包括编写C语言驱动代码、创建Makefile、编译模块、加载及卸载驱动模块等步骤,并提供了测试驱动程序的方法。
最低0.47元/天 解锁文章
1239

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



