Linux——一切皆文件:这边的文件不仅仅是我们常规理解的文件,也包括了:鼠标,键盘,屏幕,led,flash,内存,网卡…(在/dev/中可看出来)
驱动:
在内核中有一个驱动链表用来管理所有的设备驱动(驱动插入到链表的顺序是由设备号检索)
功能:
1.添加:编写完的驱动程序加载到内核
2.查找:调用驱动程序————由用户空间去open
对文件操作可以用到函数:1open(); 2read();3wirte();
如何区分我们打开的是哪个驱动?
ex:
fd=open("/dev/pin4",O_RDWR);如何找到pin4呢?——调用pin4肯定是要调用4驱动的
要找pin4 ——首先需要1.文件名,2 设备号(ls-l可查)
什么是主设备号和次设备号在这篇文章有详解
原文链接:https://blog.csdn.net/liangkaiming/article/details/6234238
写驱动代码主要就是两件事
1:添加驱动(1.设备名 2.设备号 3.设备驱动函数——操作寄存器去调用IO口)
2:调用驱动
在这里简述一下整体调用的过程