1. 使用poll机制

1.1 如何使用?

a. open("/dev/HPD");

b. poll状态发生变化

c. read确定接上还是接下

1.2 情景分析:

  1. APP使用open("/dev/HPD");
  2. APP : poll -> 驱动:poll -> 休眠 -> 中断
  3. APP : read

2. state主动上报数据

2.1 switch设备简介:

2.1.1. 构造switch_dev:

.name = "hdmi";
.state = 1,0;

2.1.2 switch_dev_register

a. 创建class_create("switch");

/sys/class/switch

b. 在类下创建设备device_create("hdmi");

/sys/class/switch/hdmi

c. device_create_file("state");

/sys/class/switch/state

2.2 使用switch系统

2.2.1 第一种方法:

  1. 中断程序设置switch_dev的state
  2. APP读/sys/class/switch/state

这种方法相当耗资源

2.2.2 第二种方法:

  1. APP设置网络(读数据)

  2. 驱动:中断-> schdule_work -> 发送网络数据

    a. 构造envp[]

    b. kobject_uevent_env发送给user app

    b.1 使用网络发送envp

    b.2 /sbin/hotplug

  3. APP被唤醒,读、处理

HDMI驱动热插拔检测方法的更多相关文章

  1. HDMI热插拔检测原理

    HDMI(19Pin)/DVI(16 pin)的功能是热插拔检测(HPD),这个信号将作为主机系统是否对HDMI/DVI是否发送TMDS信号的依据.HPD是从显示器输出送往计算机主机的一个检测信号.热 ...

  2. 目标检测方法总结(R-CNN系列)

    目标检测方法系列--R-CNN, SPP, Fast R-CNN, Faster R-CNN, YOLO, SSD 目录 相关背景 从传统方法到R-CNN 从R-CNN到SPP Fast R-CNN ...

  3. VS2005内存泄漏检测方法[转载]

    一.非MFC程序可以用以下方法检测内存泄露: 1. 程序开始包含如下定义: #ifdef _DEBUG #define DEBUG_CLIENTBLOCK new( _CLIENT_BLOCK, __ ...

  4. 小白日记39:kali渗透测试之Web渗透-SQL手工注入(一)-检测方法

    SQL手工注入(一) SQL注入:通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.[SQL注入原理] ##服务端程序将用户输入参数作为查询 ...

  5. Android手机安全软件的恶意程序检测靠谱吗--LBE安全大师、腾讯手机管家、360手机卫士恶意软件检测方法研究

    转载请注明出处,谢谢. Android系统开放,各大论坛活跃,应用程序分发渠道广泛,这也就为恶意软件的传播提供了良好的环境.好在手机上安装了安全软件,是否能有效的检测出恶意软件呢?下边针对LBE安全大 ...

  6. C++中内存泄漏的检测方法介绍

    C++中内存泄漏的检测方法介绍 首先我们需要知道程序有没有内存泄露,然后定位到底是哪行代码出现内存泄露了,这样才能将其修复. 最简单的方法当然是借助于专业的检测工具,比较有名如BoundsCheck, ...

  7. CubieBoard开发板不用ttl线也不用hdmi线的安装方法

    本文重点在于CubieBoard开发板系统的初始化安装,并且不用ttl和hdmi线,开机就可以远程ssh进系统.本文适合没有配线的同学参考操作.事实上,无论有没有ttl线,按照本文的方法安装效率都是一 ...

  8. R-CNN,SPP-NET, Fast-R-CNN,Faster-R-CNN, YOLO, SSD, R-FCN系列深度学习检测方法梳理

    1. R-CNN:Rich feature hierarchies for accurate object detection and semantic segmentation 技术路线:selec ...

  9. 目标检测方法——R-FCN

    R-FCN论文阅读(R-FCN: Object Detection via Region-based Fully Convolutional Networks ) 目录 作者及相关链接 方法概括 方法 ...

随机推荐

  1. [P1329] 数列

    设F[i,j]为长度为i是,前缀和为j的方案数. [转移] F[i,j] => F[i+1,j+i] F[i,j] => F[i+1,j-i] [原理] 由于A[0]=0,所以有A[1]= ...

  2. 单点登录SSO图示和讲解(有代码范例)转帖

    完整的代码范例已完成,因和本文时序图严格对照,注释整理还需要一些工作,完成后将在下一篇放出.大家下载配置后,本地跑起来会是图一动画所示的运行效果,敬请期待. 敢说最准确,因为: 我严格对照所画时序图的 ...

  3. CS231n官方笔记授权翻译总集篇发布

    CS231n简介 CS231n的全称是CS231n: Convolutional Neural Networks for Visual Recognition,即面向视觉识别的卷积神经网络.该课程是斯 ...

  4. 一句命令修复Xcode6.2插件失效的问题

    Xcode升级到6.2之后XVim无法使用了. 打开终端输入: find ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins - ...

  5. 轻量级.NET CORE ORM框架Insql使用教程

    Insql 国人开发,是一款汲取 Mybatis 优点的.NET ORM 框架.追求简单直观,使用自由灵活等特点. 项目主页:https://rainrcn.github.io/insql 此 ORM ...

  6. 【ASP.NET MVC系列】浅谈Google Chrome浏览器(操作篇)(下)

    ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...

  7. python——字符串格式化

    字符串的基础位置预留(网上到处都是) Python用一个tuple将多个值传递给模板,每个值对应一个格式符 在模板和tuple之间,有一个%号分隔,它代表了格式化操作. 使用字典 当只有很少量的占位符 ...

  8. ORM框架EF

    应用程序和数据库采用Tcp协议通讯 ORM框架有: NHibernate ,Dapper ,Mybatis 底层是 ADO.Net 好处: 1.面向对象 2.没有sql减少学习成本,快速开发 3.编译 ...

  9. c# Datatable导出Excel

    using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; using System; using System.Collections.Generic; ...

  10. 【Redis】3、Redis集群部署

    Redis 集群是一个提供在多个Redis间节点间共享数据的程序集. Redis集群并不支持处理多个keys的命令,因为这需要在不同的节点间移动数据,从而达不到像Redis那样的性能,在高负载的情况下 ...