对于不使用操作系统或使用小型实时操作系统(如freeRTOS)的设备来说, 与硬件相关的驱动程序与应用程序往往混合在一起,因此常常不会对驱动与应用进行严格的区分, 这也导致更换硬件平台时,应用程序移植困难。
1、
使用了Linux系统的设备,硬件会由操作系统接管。Linux系统的一个重要设计哲学是一切皆文件。
包括硬件设备,对于系统来说也是一个文件,所以系统向上层应用程序提供open、write、read、close等统一的文件操作接口, 应用程序可以利用这些接口对设备文件进行访问,从而实现对硬件设备的初始化、写入、读取以及关闭等操作。
2、
当系统接收到应用程序的这些访问请求时,它会向下查询对应设备具体的操作函数,然后调用相应的函数处理请求, 而这些针对不同设备具体的操作函数就是设备驱动程序。因此,设备驱动就是这样一种把硬件与操作系统连接在一起的程序, Linux系统会提供统一的格式,设备驱动开发工程师根据具体的设备按照系统格式要求实现相应的设备操作函数。
3、
可以去了解一下:
write-a-C-interpreter(初学者)
picoc源码(初学者不建议)
//github
from :野火
标签:函数,Linux,系统,应用程序,嵌入式,硬件,初级,linux,设备 From: https://www.cnblogs.com/LauSunM/p/17418916.html