第1个回答 2012-06-23
这个才1W字 难度太大。。。 而且说得明白都可以出书了。。。
大体上就是挂载到操作系统的抽象接口。
驱动是以模块化加载到操作系统中,首先init()函数启动模块,就是到相应的硬件驱动抽象接口注册,并进行一系列的抽象类的交互,如果是总线,则要向更高级的总线挂载,如PCI,没有2.4内核时代那么简单了哦,之后就是probe(),这个过程是在你要使用的时候启动的,是驱动程序和驱动设备互相绑定的一个过程,也就是特定的设备都会有相应的驱动来绑定,之后就是什么read,write,ioctl等一系列的操作,这些都是具体的硬件操作,但是必须给操作系统提供统一接口就是那些read,write。。来进行硬件封装。
这些read,write,ioctl就是具体要参照芯片的datesheet操作而且要参考具体芯片的特性,例如nandflash,norflash,cfcard,sdcard每个都不一样。就如我们写裸机程序一样操作这些硬件,
如果要加载操作系统,我们则必须要按照一定的规范写。
吃饭了 就写这么多。。。本回答被网友采纳