首页|嵌入式系统|显示技术|模拟IC/电源|元件与制造|其他IC/制程|消费类电子|无线/通信|汽车电子|工业控制|医疗电子|测试测量
首页 > 分享下载 > 常用文档 > 嵌入式Linux驱动程序开发要点

嵌入式Linux驱动程序开发要点

资料介绍
嵌入式系统

嵌入式Linux驱动程序开发要点
在Linux操作系统下有3类主要的设备文件类型:块设备、字符设备和网络设备。这种分
类方法可以将控制输入/输出设备的驱动程序与其他操作系统软件分离开来。
字符设备与块设备的主要区别是:在对字符设备发出读/写请求时,实际的硬件I/O一般
紧接着发生。块设备则不然,它利用一块系统内存作为缓冲区,若用户进程对设备的请
求能满足用户的要求,就返回请求的数据;否则,就调用请求函数来进行实际的I/O操作
。块设备主要是针对磁盘等慢速设备设计的,以免耗费过多的CPU时间用来等待。网络设
备可以通过BSD套接口访问数据。
每个设备文件都有其文件属性(c/b),表示是字符设备还是块设备。另外每个文件都有2
个设备号,第一个是主设备号,标识驱动程序;第二个是从设备号,标识使用同一个设
备驱动程序的、不同的硬件设备。设备文件的主设备号必须与设备驱动程序在登记时申
请的主设备号一致,否则用户进程将无法访问驱动程序。

系统调用时操作系统内核与应用程序之间的接口,设备驱动程序是操作系统内核与机器
硬件之间的接口。设备驱动程序是内核的一部分,它完成以下功能:
●对设备初始化和释放
●把数据从内核传送到硬件和从硬件读取数据
●读取应用程序传送给设备文件的数据和回送应用程序请求的数据
●检测和处理设备出现的错误

MTD(Memory Technology
Device)设备是闪存芯片、小型闪存卡、记忆棒之类的设备,它们在嵌入式设备中的使用
正在不断增加。MTD驱动程序是在Linux下专门为嵌入式环境开发的新的一类驱动程序。
相对于常规块设备驱动程序,使用MTD驱动程序的优点在于他们能更好的支持、管理给予
闪存设备,有基于扇区的擦除和读/写操作的更好的接口。

嵌入式Linux驱动程序开发要点
本地下载

评论