驱动概述:外设接口的理解

2050阅读 0评论2014-09-02 willinux
分类:Android平台

1. 内存类接口:如 Nor flash、Sdram、Dm9000 等等,由cpu 统一编址,直接进行读写
2. 协议类接口:
{
    2.1 Cpu 和外设约定一定的时序
    2.2 如何进行读写?
    {
        2.2.1 cpu 端:设置cpu端的寄存器产生适应外设的时序
        2.2.2 外设端的初始化(写):通过cpu端相应的外设控制器产生相应的时序去对外设的控制寄存器进行初始化
        2.2.3 外设端的数据(读):通过cpu端相应的外设控制器产生相应的时序去对读取外设的数据寄存器的数据
    }
}


协议类接口之通用协议类:(USB,I2C,SPI,I2S(ALSA))对 CPU 端的驱动和 设备驱动进行了分离,因为这些都是通用的总线,时序是固定的
注意:以前的 OSS 声音子系统并没有对 I2S 的驱动进行分离,通常对音频驱动而言,外设的 I2S 只是负责音频数据的传输,通常还有其他的控制类接口如 I2C  或者 L3 之类的
协议类接口之特殊协议类:帧缓存设备,Nand Flash 类设备驱动则没有进行类似的分离,需要自行根据外设 Datasheet 描述的时序设置 LCD Controller 的寄存器值
内存类接口后续更新
上一篇:MCC(移动国家码)和 MNC(移动网络码)
下一篇:Linux 声音子系统之框架分析