应用层开发:在 *** 作系统之上写程序,这里和在上位机写程序没什么不同,只需要考虑系统资源是否够用。
驱动层:写驱动程序,既需要软件,更需要硬件,最终提供一个dll或者设备文件,供应用开发
核心层: *** 作系统的移植,修改等,bootloader的移植等更底层的工作
Linux是Unix *** 作系统的一种变种,在Linux下编写驱动程序的原理和思想完全类似于其他的Unix系统,但它dos或window环境下的驱动程序有很大的区别。在Linux环境下设计驱动程序,思想简洁, *** 作方便,功能也很强大,但是支持函数少,只能依赖kernel中的函数,有些常用的 *** 作要自己来编写,而且调试也不方便。本人这几周来为实验室自行研制的一块多媒体卡编制了驱动程序,获得了一些经验,愿与Linux fans共享一、Linux device driver 的概念系统调用是 *** 作系统内核和应用程序之间的接口,设备驱动程序是 *** 作系统内核和机器硬件之间的接口。设备驱动程序为应用程序屏蔽了硬件的细节,这样在应用程序看来,硬件设备只是一个设备文件, 应用程序可以象 *** 作普通文件一样对硬件设备进行 *** 作。设备驱动程序是内核的一部分,它完成以下的功能:
1.对设备初始化和释放。
2.把数据从内核传送到硬件和从硬件读取数据。
3.读取应用程序传送给设备文件的数据和回送应用程序请求的数据。
4.检测和处理设备出现的错误。
二、实例剖析我们来写一个最简单的字符设备驱动程序。虽然它什么也不做,但是通过它可以了解Linux的设备驱动程序的工作原理。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)