usb设备驱动程序(一)

代码:

#include <linux/atomic.h>
#include <linux/kernel.h>
#include <linux/list.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/usb.h>
#include <linux/videodev2.h>
#include <linux/vmalloc.h>
#include <linux/wait.h>
#include <linux/version.h>
#include <asm/unaligned.h>#include <media/v4l2-common.h>static struct usb_device_id myuvc_ids[] = {/* Generic USB Video Class */{ USB_INTERFACE_INFO(USB_CLASS_VIDEO, 1, 0) },/*vdieocontral interface*/{ USB_INTERFACE_INFO(USB_CLASS_VIDEO, 2, 0) },{}
};
static int myuvc_probe(struct usb_interface *intf,const struct usb_device_id *id)
{static int count;printk("connect %d\n",count++);return 0;
};
static void myuvc_disconnect(struct usb_interface *intf)
{static int count;printk("disconnect %d\n",count++);
};struct usb_driver myuvc_driver = {.name		= "my_uvcvideo",.probe		= myuvc_probe,.disconnect	= myuvc_disconnect,//.suspend	= uvc_suspend,//.resume		= uvc_resume,//.reset_resume	= uvc_reset_resume,.id_table	= myuvc_ids,//.supports_autosuspend = 1,
};static int  myuvc_init(void)
{int ret ;ret = usb_register(&myuvc_driver);if (ret < 0) {return ret;}return 0;
}static void  myuvc_cleanup(void)
{usb_deregister(&myuvc_driver);
}module_init(myuvc_init);
module_exit(myuvc_cleanup);
MODULE_LICENSE("GPL");

1.卸载原有的驱动

sudo rmmod uvcvideo  //有些没有就不用卸载
sudo insmod myuvc.ko

2.插拔usb设备,并用dmesg 查看信息

dmesg 命令主要用来显示内核信息。使用 dmesg 可以有效诊断机器硬件故障或者添加硬件出现的问题。另外,使用 dmesg 可以确定您的服务器安装了哪些硬件。每次系统重启,系统都会检查所有硬件并将信息记录下来。执行/bin/dmesg 命令可以查看该记录,开机信息亦保存在/var/log目录中,名称为dmesg的文件里。

3.输出

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/521786.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Tensorflow快餐教程(9) - 卷积

摘要&#xff1a; 卷积的计算方法卷积卷积就是滑动中提取特征的过程在数学中&#xff0c;卷积convolution是一种函数的定义。它是通过两个函数f和g生成第三个函数的一种数学算子&#xff0c;表征函数f与g经过翻转和平移的重叠部分的面积。其定义为&#xff1a;h(x)f(x)∗g(x)∫…

商家笑了 设计师哭了,京东+英特尔的AI这招太绝

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 刘丹出品 | CSDN云计算&#xff08;ID&#xff1a;CSDNcloud&#xff09;在如今“无促销不电商”的大环境熏陶下&#xff0c;商家需要榨干了脑浆想尽各种奇招&#xff0c;玩法虽多&#xff0c;但万变不离其宗。面对上万、甚至…

明显调用的表达式前的括号必须具有指针函数类型_每天三分钟带你搞懂C++基础Day5 处理类型 typedef、auto、decltype...

类型别名(type alias)一个名字&#xff0c;是某种类型的同义词。使用类型名有很多好处&#xff0c;能让复杂的类型名字变得简单明了&#xff0c;易于理解和使用。有两种方法可用于定义类型别名。传统的方法是使用关键字typedef :typedef double wages; //wages是double的同义词…

基于OGG Datahub插件将Oracle数据同步上云

摘要&#xff1a;随着数据规模的不断扩大&#xff0c;传统的RDBMS难以满足OLAP的需求&#xff0c;本文将介绍如何将Oracle的数据实时同步到阿里云的大数据处理平台当中&#xff0c;并利用大数据工具对数据进行分析。一、背景介绍随着数据规模的不断扩大&#xff0c;传统的RDBMS…

那些阿里的年轻人

摘要&#xff1a; 今天是年轻人的节日 十九年前&#xff0c;杭州城西一间狭小简陋的民房里 有一群年轻人 他们衣着朴素、口袋里也没什么钱 但每个人的眼神是坚定的、热烈的 他们每天挂在嘴边的 是梦想要做一件改变世界的事儿 1999年&#xff0c;一群杭州的年轻人离开北京&#…

php的添加语句怎么写,php修改语句怎么写

php修改语句是“update student set 字段1新值1,…where id $id”,…;”&#xff0c;其中update语句就是用于修改数据库表中的数据。推荐&#xff1a;《PHP视频教程》PHP sql修改语句语法&#xff1a;$sql “update student set 字段1新值1,…where id $id”,…;注意&#xff…

招人!入职阿里仅1年,我和做AI的程序员薪资翻了2倍!

最近在知乎上&#xff0c;关于AI的这个话题又被顶起来&#xff0c;其中&#xff0c;这条回答让人印象深刻&#xff1a;在这短短的一条信息里&#xff0c;无疑显示出&#xff1a;AI行业缺人&#xff0c;高端岗位80万年薪恐怕也招不来&#xff01;小编上周在一个AI群里&#xff0…

使用Unoconv和LibreOffice进行格式转换实现在线预览 doc,doxc,xls,xlsx,ppt,pptx 文件

此项目根据企业真实需求制作而成&#xff0c;希望能帮助大家解决在线预览的问题&#xff01; 此项目已开源&#xff0c;欢迎大家来STAR 软件版本SpringBoot2.2.2.RELEASELibreOffice6.3.2unoconv0.6文章目录一、配置管理① pom② yml③ controller④ 文件格式转换工具类FileFor…

关于CNN图像分类的一份综合设计指南

摘要&#xff1a; 本文是一篇关于使用CNN完成图像分类的综合设计指南&#xff0c;涵盖了一些模型设计、模型优化以及数据处理经验&#xff0c;是一份适合图像分类方向研究者参考的综合设计指南。对于计算机视觉任务而言&#xff0c;图像分类是其中的主要任务之一&#xff0c;比…

从GitHub中整理出来的15个最受欢迎的Python开源框架,你喜欢哪个

摘要&#xff1a; 从GitHub中整理出的15个最受欢迎的Python开源框架。这些框架包括事件I/O&#xff0c;OLAP&#xff0c;Web开发&#xff0c;高性能网络通信&#xff0c;测试&#xff0c;爬虫等。 Django: Python Web应用开发框架 Django 应该是最出名的Python框架&#xff0c;…

greenplum配置高可用_高可用hadoop集群配置就收藏这一篇,动手搭建Hadoop(5)

01 ssh免密安装02 jdk安装03 hadoop伪分布式安装04 hadoop全分布式完成了前面四步&#xff0c;现在做hadoop的高可用。其实和之前的lvs的高可用差不多的。如果我们有两个namenode节点&#xff0c;分别是node01和node02。假设node01是主节点&#xff0c;node02是从节点&#xff…

聊聊我是如何在面试别人Spring事务时“套路”对方的

戳蓝字“CSDN云计算”关注我们哦&#xff01;“中国最好面试官”我希望把面试当作是一次交流&#xff0c;像朋友那样&#xff0c;而不是像一场Q & A。但也有人觉得&#xff0c;我对应聘者“太好了”&#xff0c;这完全没必要&#xff0c;反正最后他也不会来。好吧&#xff…

JAVA 雪花算法 唯一ID生成工具类

package com.gblfy;/*** Author&#xff1a;JCccc* Description&#xff1a;* Date&#xff1a; created in 15:31 2019/6/12*/ public class SnowflakeIdUtils {// Fields/** 开始时间截 (2015-01-01) */private final long twepoch 1420041600000L;/** 机器id所占的位数 */p…

华为 | 泰山之巅 鲲鹏展翅 扶摇直上九万里

戳蓝字“CSDN云计算”关注我们哦&#xff01; 文 | 阿晶、王银发于上海华为HC大会现场出品 | CSDN云计算&#xff08;ID&#xff1a;CSDNcloud&#xff09;华为在计算产业究竟要怎样LU起袖子加油干&#xff1f;五岳之首、泰山之巅、初升之日、鲲鹏展翅、昇腾万里、华为计…

前端 Leader 如何做好团队规划?阿里内部培训总结公开

摘要&#xff1a; "行成于思&#xff0c;毁于随"——韩愈 在阿里从一线前端工程师到技术 TL&#xff08;Team Leader&#xff09; 也三年有余了&#xff0c;最重要最难的就是做规划&#xff0c;你可能会遇到如下几个问题&#xff1a; 业务压力巨大&#xff0c;前端是…

印象笔记编辑pdf_做笔记就用印象笔记,支持录音做笔记( 附插件下载)

印象笔记是全球闻名的效率软件和知识管理工具&#xff0c;印象笔记可以帮助我们简化工作、学习与生活。你可以在手机、电脑、平板、网页等多种设备和平台间&#xff0c;无缝同步每天的见闻、灵感与思考。一站式完成知识信息的收集备份、高效记录、分享、多端同步和永久保存。下…

(vue基础试炼_07)Vue实例生命周期函数

文章目录一、生命周期图示二、常见的生命周期函数三、生命周期函数执行场景四、测试代码五、项目开源地址一、生命周期图示 二、常见的生命周期函数 常见的生命周期函数执行的时间beforeCreateVue初始化createdVue初始化beforeMount模板未渲染到页面上mounted模板已经渲染到页…

独家专访阿里高级技术专家北纬:Dubbo开源重启半年来的快意江湖

摘要&#xff1a; 罗毅&#xff0c;花名北纬。这个名字&#xff0c;如果是混过天涯论坛的大龄网民应该都不陌生&#xff0c;北纬67度3分周公子&#xff08;简称北纬&#xff09;虐杀易烨卿MM的世纪大战至今还是天涯神贴 &#xff0c;当时更是有看客赋诗形容&#xff1a;“目睹此…

实践心得:从读论文到复现到为开源贡献代码

摘要&#xff1a; 本文讲述了从在fast.ai库中读论文&#xff0c;到根据论文复制实验并做出改进&#xff0c;并将改进后的开源代码放入fast.ai库中。介绍去年我发现MOOC网上有大量的Keras和TensorKow教学视频&#xff0c;之后我从零开始学习及参加一些Kaggle比赛&#xff0c;并在…

FPGA资源平民化的新晋- F3 技术解析

摘要&#xff1a; FPGA (现场可编程门阵列)由于其硬件并行加速能力和可编程特性&#xff0c;在传统通信领域和IC设计领域大放异彩。一路走来&#xff0c;FPGA并非一个新兴的硬件器件&#xff0c;由于其开发门槛过高&#xff0c;硬件加速算法的发布和部署保护要求非常高&#xf…