首先要知道 应用程序里的open、close、read、write等函数在驱动程序也有对应的open、close、read、write等函数,这些函数都有对应的系统编号。
如上图所示在unisd32.h文件中,read函数对应的系统编号就是3
- Linux 里面一切皆文件,驱动设备的表现就是一个/dev/下的文件,比如编写一个led的驱动,在/dev目录下表现为/dev/led. 应用程序调用open函数打开设备。应用程序通过write函数向/dev/led写数据,比如写1表示打开,写0表示关闭。如果要关闭设备那么就是close函数。
- 编写驱动的时候也需要编写驱动对应的open. close. write 函数。字符设备驱动,这些函数主要利用fileoptions_struct这个结构体来编写。
- 驱动最终是被应用调用的,在写驱动的时候要考虑应用开发的便利性。
- 驱动是分驱动框架的,要按照驱动框架来编写,对于字符设备驱动来说,重点编写 应用程序对应的open、close、 read、 write
等函数