• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
18165066766
博客园 首页 新随笔 联系 订阅 订阅 管理

2019年5月22日

linux usb驱动记录(二)
摘要: 三、usb设备的识别过程 在这里梳理一下上一篇博客中的内容:(这张图来自https://blog.csdn.net/lizuobin2/article/details/51931161) 上一篇博客刚好从平台设备、驱动的匹配分析到hub_irq这个函数这里。 在kick_khubd(hub)中会唤醒 阅读全文
posted @ 2019-05-22 16:22 18165066766 阅读(1060) 评论(0) 推荐(0)
 
 

2019年5月21日

linux usb驱动记录(一)
摘要: 一、linux 下的usb驱动框架 在linux系统中,usb驱动可以从两个角度去观察,一个是主机侧,一个是设备侧。linux usb 驱动的总体框架如下图所示: 从主机侧看usb驱动可分为四层:usb主机控制器硬件底层、usb主机控制器驱动、usb核心和usb设备驱动。 在主机侧要实现的驱动主要分 阅读全文
posted @ 2019-05-21 22:38 18165066766 阅读(6502) 评论(0) 推荐(0)
 
 

2019年5月14日

linux-2.6.38 input子系统(用输入子系统实现按键操作)
摘要: 一、设备驱动程序 在上一篇随笔中已经分析,linux输入子系统分为设备驱动层、核心层和事件层。要利用linux内核中自带的输入子系统实现一个某个设备的操作,我们一般只需要完成驱动层的程序即可,核心层和事件层内核已经帮我们做好了。因此这篇随笔主要介绍按键操作设备驱动层的代码。 1.1设备驱动入口函数 阅读全文
posted @ 2019-05-14 22:43 18165066766 阅读(739) 评论(0) 推荐(0)
 
 

2019年5月13日

linux-2.6.38 input子系统(简析)
摘要: 一、输入子系统简介 引入输入子系统这种机制可以对不同的输入设备进行管理。各种输入设备如:鼠标、键盘、触摸屏等有一套相同的处理机制,输入子系统将其共性提取出来, 对于驱动开发人员只用实现其差异即可,实现其差异性即是完成各种设备的设备驱动程序。 整个输入子系统有:设备驱动层、输入核心层、事件处理层三部分 阅读全文
posted @ 2019-05-13 19:46 18165066766 阅读(288) 评论(0) 推荐(0)
 
 

2019年5月10日

linux 设备驱动与应用程序异步通知
摘要: 一、异步通知机制简介 异步通知机制的意思:一旦设备准备就绪,可以主动的通知应用程序进行相应的操作,从而使得应用程序不必去查询设备的状态。 异步通知比较准确的称谓是"信号驱动的异步IO",因此其实现也是通过发送、接收信号的方式。 1.1 信号接收: 第一个参数指定信号的值, 第二个参数指定信号的处理函 阅读全文
posted @ 2019-05-10 16:22 18165066766 阅读(668) 评论(0) 推荐(0)
 
 

2019年5月9日

linux-2.6.38poll机制简析(以tiny6410按键中断程序为基础)
摘要: 一、应用程序 poll(...)函数的返回值:>0 表示 fds[]中存放的某些文件描述符的状态发生了变化 =0 表示 fds[]中存放的文件描述符的状态没有变化,并且调用超时了 <0 表示有错误发生 看到实验结果:当5秒没有按键按下时,timeout fds[0].revents = 0 当有按键 阅读全文
posted @ 2019-05-09 14:52 18165066766 阅读(340) 评论(0) 推荐(0)
 
 

2019年5月7日

linux-2.6.38 总线驱动分析
摘要: 一、IIC总线驱动代码 IIC总线控制器通常是在内存上的,连接在platform总线上,所以需要通过platform_driver和platform_device的匹配。我想大概根据总线设备驱动模型的分层思想,将一个驱动程序分为device和driver两层,将IIC总线驱动程序也分成platfor 阅读全文
posted @ 2019-05-07 22:48 18165066766 阅读(293) 评论(0) 推荐(0)
 
linux-2.6.38 IIC驱动框架分析
摘要: 在linux-2.6内核中,IIC的驱动程序可以大概分为三部分: (1)IIC核心代码:/drivers/i2c/i2c-core.c IIC核心提供了IIC总线驱动和设备驱动的注册、注销方法和IIC通信方法。i2c-core.c提供了一组不依赖硬件平台的接口函数,IIC总线驱动和IIC设备驱动之间 阅读全文
posted @ 2019-05-07 22:40 18165066766 阅读(351) 评论(0) 推荐(0)
 
 

公告


博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3