最近稍微看了下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. Linux网络

    netstat 查看网络状态 netstat: -r :显示路由表 -n: 以数字方式显示 -u: 显示UDP连接 -t :显示TCP连接 -l:显示监听状态的连接 -p: 显示监听指定套接字的进程的 ...

  2. 尝试使用Java6API读取java代码

    主要类:JavaCompiler  FileManager JavaCompiler .CompilationTaskAbstractProcessor参考代码https://today.java.n ...

  3. composer的create-project安装php框架laravel for mac教程

    通过 Composer 的 create-project 命令安装 Laravel 通过在命令行执行 Composer 的 create-project 命令来安装Laravel: composer ...

  4. Things About 'extern'

    Note: All Learned From Here C和Objective-C的function前面都有个隐含的extern,对于function来说,有没有extern都无所谓,但变量不一样. ...

  5. HttpContext.Current.Session=null问题

    启用asp.net状态服务,可以让Session持久化!

  6. Morgan stanley 电话面试

    首先是聊项目, 不会涉及到具体的技术问题 1.C和C++的区别:C++里的RTTI 2.vector 和 list的区别 : casting operator ; smart pointer. 3.数 ...

  7. APNs推送, 处理通知

    设备接到apns发来的通知,应用处理通知有以下几种情况: 1. 应用还没有加载 这时如果点击通知的显示按钮,会调用didFinishLaunchingWithOptions,不会调用didReceiv ...

  8. 关于django Models的个人理解和related_name的使用

    作为一个新人(刚刚大学还没有毕业就出来实习,可以说是真的什么都不知到,什么都要重新学,但是这样真的可以锻炼自己的意志力和能力).现在在公 司是前端和后端一起坐,所以要学的东西是真的多的让人想不到.在学 ...

  9. 被windows“折磨”了一个礼拜

    说是被windows折磨了一个礼拜,这话一点都不假!由于想彻底的卸载SQL Server而误删系统文件,导致系统重启之后持续蓝屏.无奈之下只能重装系统(心想,加入当初自己将系统备份的话,那该是多美好的 ...

  10. Cordova 设置全屏及退出全屏切换

    设置全屏在super.init();之前 最后才退出全屏. 以下为具体代码: package com.agile.ittm; import android.os.Bundle; import andr ...