用户程序访问设备的整体工作情况如图所示。
图 GPIO分层结构
如图所示的数据结构是在内核态工作,而内核通过对相应数据结构的赋值,以此记录了用户程序对外部设备的使用情况。节点数据结构工作在JFFS(一种基于Hash的文件系统)阶段,其定位了用户程序访问的设备文件,并根据相应文件属性满足用户程序对该设各文件的访问。在对设备数据的交换过程中,File数据结构维护着缓冲区的数据。
设备驱动程序使用标准的服务如内存分配、中断转发和等待队列来完成工作。大多数设备驱动程序可以在需要的时候作为模块加载,在不需要的时候卸载。这使得服务对于系统资源非常具有适应性和效率性。
系统调用是操作系统内核和应用程序之间的接口,设备驱动程序是操作系统内核和机器硬件之间的接口。设备驱动程序为应用程序屏蔽了硬件的细节,这样在应用程序看来,硬件设备只是一个设备文件,应用程序可以像操作普通文件一样对硬件设备进行操作。设备驱动程序是内核的一部分,它具有以下功能。
·对设备初始化和释放。
·把数据从内核传送到硬件,以及从硬件读取数据。
·读取应用程序传送给设备文件的数据,以及回送应用程序请求的数据。
。检测和处理设备出现的错误。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。