最近稍微看了下LKML,发现里面有一个子系统叫做“IIO”。以前没有接触过,所以Google了下。

    IIO子系统全称是 Industrial I/O subsystem(工业 I/O 子系统),现在还处在有待完善的阶段,在内核树中位于drivers/staging/iio目录下。
    根据内核说明文档的描述:工业I/O子系统旨在提供那些在某种意义上作为模数转换器(ADC)的设备支持。此子系统的目的在于填补那些分类时处在hwmon(硬件监视器)和输入子系统之间的设备类型。在某些情况下,IIO和hwmon、Input之间的相当大的重叠。
 
属于IIO的设备如下(参考ADI的WiKi):
  1. ADCs(模数转换器)
  2. 加速度传感器
  3. 陀螺仪
  4. IMUs(惯性测量单位)
  5. 电容-数字转换器(CDCs)
  6. 压力、温度和光线传感器
   从源码的目录中可以看出,还有:磁力计传感器、电能功率计、旋变数字转换器
      可以看出这些外设的确都是工业领域使用的,当然其中的部分在其他领域也用到了,比如
  1. 加速度传感器、陀螺仪、温度和光线传感器在移动设备(手机、平板)中也有广泛应用。
  2.  
 
IIO主要框架如下(ADI的WiKi内容):
    
    
   对于IIO的介绍,ADI的WiKi讲的比较的清楚,我顺手将这个文档翻译成了中文,分享如下:
 
   内核说明文档也是极有参考价值的,并且较为详细。位置:drivers/staging/iio/Documentation
   我也顺手翻译了一下其中的overview.txt文件,分享如下:
 
   这里只是简单的了解一下这个系统。以后,我会继续分析这个系统,翻译内核文档,再写分析文档。

Linux IIO子系统分析的更多相关文章

  1. 【转】 Linux IIO子系统分析-1-概述

    原文网址:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=20543672&id=2976189 最近稍微看了下LKML ...

  2. 【转】 linux iio子系统

    原文网址:http://blog.csdn.net/tsy20100200/article/details/47101661 最近由于工作的需要,接触了Linux iio子系统,对于这个目录其实以前是 ...

  3. linux iio子系统

    //============================================================================\\ || 系            统:W ...

  4. Linux input子系统分析

    输入输出是用户和产品交互的手段,因此输入驱动开发在Linux驱动开发中很常见.同时,input子系统的分层架构思想在Linux驱动设计中极具代表性和先进性,因此对Linux input子系统进行深入分 ...

  5. 7.Linux 输入子系统分析

    为什么要引入输入子系统? 在前面我们写了一些简单的字符设备的驱动程序,我们是怎么样打开一个设备并操作的呢? 一般都是在执行应用程序时,open一个特定的设备文件,如:/dev/buttons .... ...

  6. Linux Input子系统

    先贴代码: //input.c int input_register_handler(struct input_handler *handler) { //此处省略很多代码 list_for_each ...

  7. linux kernel input 子系统分析

    Linux 内核为了处理各种不同类型的的输入设备 , 比如说鼠标 , 键盘 , 操纵杆 , 触摸屏 , 设计并实现了一个对上层应用统一的试图的抽象层 , 即是Linux 输入子系统 . 输入子系统的层 ...

  8. Linux时间子系统之(十七):ARM generic timer驱动代码分析

    专题文档汇总目录 Notes:ARM平台Clock/Timer架构:System counter.Timer以及两者之间关系:Per cpu timer通过CP15访问,System counter通 ...

  9. Linux设备驱动之IIO子系统——IIO框架及IIO数据结构

    由于需要对ADC进行驱动设计,因此学习了一下Linux驱动的IIO子系统.本文翻译自<Linux Device Drivers Development >--John Madieu,本人水 ...

随机推荐

  1. Page类成员

    1. Request,Response,Server属性:对contex.Request,context.Response,context.Server的简化调用2. AppRelativeVirtu ...

  2. linux一部分常用的命令

    如今的web项目,一般在windows下开发,然后部署在linux上.搜索了一下原因,大概是说,linux免费,此外,linux长时间运行都没有问题,可以达到1到2年不停机.因此,需要学习一些常用的l ...

  3. Linux系统的启动流程以及做个小小的Linux

    内核的作用     进程管理:进程间切换     内存管理:内存空间分割为内核空间和用户空间     IO管理:对底层硬件的使用必须由内来实现,不能由用户空间进程来实现     文件系统管理     ...

  4. css中 中文字体(font-family)的标准英文名称

    Mac OS的一些: 华文细黑:STHeiti Light [STXihei] 华文黑体:STHeiti 华文楷体:STKaiti 华文宋体:STSong 华文仿宋:STFangsong 儷黑 Pro ...

  5. yii2 gii页面404和debug调试栏无法显示解决方法

    在debug和gii配置项中加一项: 'allowedIPs' => ['127.0.0.1', '::1', '*.*.*.*']即可 注:因为yii默认只让127.0.0.1访问

  6. 记录一下学习VC的初步过程.

    有需要把状态栏图标缓存清空. 找到DELPHI和E语言的例子.最近学VC所以要改成VC的. 做控件的时候发现函数不能直接控制控件.在网上找了半天相关资料,都是说要包含"resource.h& ...

  7. Python 学习之urllib模块---用于发送网络请求,获取数据(4)

    承接将查询城市编码的结果保存到文件中,以字典的形式保存,目的是为了在查询某个城市的天气的时候,能够通过输入的城市名称,找到对应的城市编码.所以此结果字典的数据结构,就是city={城市名称:城市编码} ...

  8. WEB SSH之Shellinabox

    用起来方便的,参考URL: http://lzw.me/a/shellinabox.html 生成 pem 证书,可以 https 方式启动.pem 证书的格式为公钥加私钥,并以 x509 的格式进行 ...

  9. 【BZOJ3439】 Kpm的MC密码 (TRIE+主席树)

    3439: Kpm的MC密码 Description 背景 想Kpm当年为了防止别人随便进入他的MC,给他的PC设了各种奇怪的密码和验证问题(不要问我他是怎么设的...),于是乎,他现在理所当然地忘记 ...

  10. SPRING IN ACTION 第4版笔记-第三章ADVANCING WIRING-005-Bean的作用域@Scope、ProxyMode

    一. Spring的bean默认是单例的 But sometimes you may find yourself working with a mutable class that does main ...