Linux 驱动认知

本文介绍了Linux系统中设备驱动的管理机制,如何通过设备号查找驱动,并重点讲解了添加驱动和使用文件操作函数如open(), read(), write()来区分不同驱动。文章还涉及主设备号和次设备号的概念,以及编写驱动的基本步骤。
摘要由CSDN通过智能技术生成

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:调用驱动

在这里简述一下整体调用的过程
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值