linux设备驱动实现mmap()

linux设备驱动实现mmap(),第1张

linux设备驱动实现mmap() 一、驱动代码 
//所有的模块代码都包含下面两个头文件  
#include   
#include   
  
#include  //定义dev_t类型  
#include  //定义struct cdev结构体及相关 *** 作  
#include  //定义kmalloc接口  
#include //定义virt_to_phys接口  
#include //remap_pfn_range  
#include   
  
#define MAJOR_NUM 0  
#define MM_SIZE 4096  
  
static char driver_name[] = "mmap_driver1";//驱动模块名字  
static int dev_major = MAJOR_NUM;  
static int dev_minor = 0;  
char *buf = NULL;  
struct cdev *cdev = NULL;  
  
static int device_open(struct inode *inode, struct file *file)  
{  
    printk(KERN_alert"device openn");  
    buf = (char *)kmalloc(MM_SIZE, GFP_KERNEL);//内核申请内存只能按页申请,申请该内存以便后面把它当作虚拟设备  
    return 0;  
}  
  
static int device_close(struct inode *indoe, struct file *file)  
{  
    printk("devi

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5433400.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存