linux内核文件目录介绍

主要包括两个目录:

一、arch
  平台架构处理器相关代码,包括mips、powpc、arm、x86等。
 
二、driver
  各个驱动相关代码,内核中70%都是驱动代码,而且经常变化的也是驱动代码。嵌入式主要关心的驱动设备如下:
  1.input 目录
    重点要了解的驱动,特别是安卓系统,是所有输入设备的中间层,向系统上报数据,比如按键的键值、触摸屏坐标以及各种传感器的数值等,是我们最常用的驱动。在使用的2440开发板上的按键、触摸屏、红外遥控解码器、蜂鸣器的驱动都在input中。
  2.i2c 总线
     需要有一个住控制器,然后把各种i2c设备挂接在总线上。其中bussess就是各种处理器的i2c主控制器的驱   动.目前使用i2c的设备越来越多,其驱动零食的分布在各个具体设备的驱动目录下,比如,input、camera    等。
  3.hwmon(hardware monitor)
      用于检测cpu温度、电压、风扇转速等设备监测传感器的驱动
  4.hid (human interface device)
      人机接口,比如鼠标键盘灯设备
  5.char 
      比较复杂的字符型设备
  6.watchdog
      各种处理器的硬件看门狗驱动
  7.w1
       达拉斯单总线设备,比如我们熟悉的DS18B20
  8.video
       显示相关设备,比如framebuff、背光的驱动
  9.usb
        usb所有驱动
  10.spi
        spi总线和各种spi控制器的驱动,如spi_s3c24xx.c就是s3c2440的spi总线驱动
  11.serial
        串口器件相关驱动
  12.rtc
        实时时钟
  13. power
        电源、电池、电量有关的
  14.net
        所有网络相关,比如以太网卡、wifi等
  15.mtd
        存储设备的驱动,我们用到的主要是nandflash的驱动
  16.mmc
         sd卡相关驱动
  17.misc
          一些混杂的,没有归类的设备
  18.media
           多媒体相关的,主要是video(摄像头的)、radio(收音机)等
  19.LED
           LED驱动
  
  
对应于安卓,linux也有一个HAL层(硬件抽象层)-----驱动子系统:
Input(输入子系统):可以将触摸屏、按键、sensor等设备所产生的值,以统一方式上报系统
FrameBuffer(显示子系统):屏蔽各种显示设备的硬件差异
V4L2(视频设备子系统):将各种camera的硬件驱动封装起来,提供给上层使用
MTD(存储设备子系统)
USB(USB子系统)
....
可以把任何驱动对应到一种子系统之中

posted on 2012-05-08 21:43  橡皮爹爹  阅读(1829)  评论(0编辑  收藏  举报

导航