当前位置: 首页 > news >正文

南山网站建设-信科网络全美网站建设公司

南山网站建设-信科网络,全美网站建设公司,网页游戏排行榜在线玩,株洲做网站公司上一节讲到的字符设备注册与销毁是通过cdev_init、cdev_add、cdev_del等函数分步执行的,本小节用一种更简单的方式,来注册字符设备 register_chrdev 如果major为0,该函数将动态的分配一个主设备号并且返回对应的值如果major > 0&#xff…

上一节讲到的字符设备注册与销毁是通过cdev_init、cdev_add、cdev_del等函数分步执行的,本小节用一种更简单的方式,来注册字符设备

register_chrdev

  •  如果major为0,该函数将动态的分配一个主设备号并且返回对应的值
  • 如果major > 0,该函数尝试获取该制定的设备号,并且申请成功,返回0

__register_chrdev函数原型:

 unregister_chrdev

实验

操作截图

 查看设备

 代码

/**hello.c*Original Author: luoyunheng, 2025-02-25** Linux驱动之字符设备注册-register_chrdev
*/#include <linux/init.h>
#include <linux/module.h>
#include <linux/kdev_t.h>
#include <linux/fs.h>
#include <linux/cdev.h>MODULE_LICENSE("GPL");unsigned int major = 237;int hello_open(struct inode *node, struct file *file)
{printk("hello_open()\n");return 0;
}int hello_release(struct inode *node, struct file *file)
{printk("hello_release()\n");return 0;
}static struct file_operations fops = {.open = hello_open,.release = hello_release,
};static int hello_init(void)
{int ret;printk("hello_init()\n");ret = register_chrdev(major, "loh", &fops);if (ret < 0) {printk("Major number allocated: %d\n", major);return ret;}return 0;
}static void hello_exit(void)
{printk("hello_exit()\n");unregister_chrdev(major, "loh");return;
}module_init(hello_init);
module_exit(hello_exit);

makefile

ifneq ($(KERNELRELEASE),)
obj-m:=hello.o
else
KDIR :=/lib/modules/$(shell uname -r)/build
PWD  :=$(shell pwd)
all:make -C $(KDIR) M=$(PWD) modules
clean:rm -f *.ko *.o *.mod.o *.symvers *.cmd *.mod.c *.order
endif

应用程序

代码

#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>int main(int argc, char **argv)
{int fd;fd = open("/dev/loh", O_RDWR);if(fd < 0) {perror("");return 0;}	sleep(10);close(fd);return 0;
}

字符设备驱动编写步骤总结 

 

http://www.dtcms.com/a/441585.html

相关文章:

  • 用vs做网站后台泉州北京网站建设
  • 网页设计与网站建设-学用一册通安徽省建筑平台信息网
  • 龙岩市住房与城乡建设部网站桂林景区网站策划
  • 做网站怎么推广收益大本地网站有什么可以做
  • 怎样免费建立网站免费推广产品的网站
  • 网站开发的经验互联网是什么工作
  • 销售行业怎样做网站网站建设 交易保障
  • 淘宝网站基础建设 托管一个上线的网站需要怎么做
  • 网站建设添加背景命令关键词推广优化排名品牌
  • 网站谁家做得好wordpress 下划线
  • 营销型网站建设找哪家汉中今天确诊名单
  • asp学习网站宝山网站建设服务
  • 网站制作 常州东莞专业网络营销公司
  • 招商网站的建设意义会展中心网站建设
  • 北京市建设工程造价管理处网站建个企业网站多少钱
  • 展示营销类网站wordpress永久链接
  • 临沂网站制作软件做网站将文字放在图片上
  • 仿牌网站安全湛江外包做网站
  • 建立内部网站网站建设的步骤教程下载
  • 做个个人网站多少钱wordpress自定义字段框架
  • 北京好的网站设计机构网站建设培训内容
  • 上海高端网站定文字图片一键生成器
  • 多人一起做视频网站网络公司关键词排名
  • 自适应网站建设价格做一件代发的网站
  • 济南做网站哪好深圳市建设工程交易服务中心宝安分中心
  • 网站建设及推广人员海口网站关键词优化
  • 泸州百度做网站联系深圳手机移动网站开发
  • 北京企业网站建设pc优化工具
  • 网站中的知识 视频从哪里来的手机搜索引擎排行榜
  • 临邑网站开发自己做平台网站