linux内核驱动入门的第一个实验:globalvar驱动

一,驱动文件的编写
摘要由CSDN通过智能技术生成

一,驱动文件的编写,将文件的名字命名为globalvar.c ,源码如下:

#include <linux/module.h> //支持动态加载和卸载模块的头文件
#include <linux/init.h> //最基本的头文件,内核初始化
#include <linux/fs.h>  //文件系统头文件,包括设备注册函数和注销函数等
#include <asm/uaccess.h> //声明了在内核代码和用户空间之间移动数据的函数的头文件
MODULE_LICENSE("GPL"); //模块许可证
#define MAJOR_NUM 1025 //主设备号
#define DEVICE_NAME "globalvar" //设备名称
static char drv_buf[1024]; 

//****************************定义read方法********************************
static ssize_t globalvar_read(struct file *filp, const char *buf ,ssize_t len, loff_t *off)
{
//将drv_buf里的数据从内核空间复制到用户空间
     if (copy_to_user(buf, drv_buf, sizeof(int))) 
     {
          return - EFAULT;
     }
    return sizeof(int);
}

//***************************定义write方法**********************
static ssize_t globalvar_write(struct file *filp,const char *buf,ssize_t len)
{
//将用户空间的数据复制到内核空间
    if (copy_from_user(drv_buf, buf, sizeof(in
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值