linux 驱动学习笔记

设备驱动程序简介:

设备驱动程序在linux内核中扮演着特殊角色,它们是一个个独立的“黑盒子”, “黑盒子”完全隐藏了设备的工作细节,对外提供api 来控制硬件设备运行,用户不需要知道设备具体是怎么运行的,只需知道api怎么来控制设备即可

ex:
驱动一个led 灯亮:

void setled1on()
{
//control gpio 来点亮led 1 亮
}

对用户层来讲我们只需知道 setled1on() 可以让led1 亮即可
对于驱动层来讲我们需要知道设备led 的工作方式,才能实现如何控制led 设备】

简单理解:
驱动是与底层硬件打交道,按照硬件设备的工作方式,控制硬件设备运行,提供相应的api 供上层调用

设备驱动程序的作用:

设备驱动程序的作用在于提供机制,而不是提供策略
怎样去理解机制和策略:
机制:需要提供什么功能
策略:如何使用这些功能

ex:
我们按照特定的方式(全亮,全暗,or 流水灯方式)去控制4个led 灯
控制led 灯的亮or暗,是直接操作硬件设备,给用户提供控制led 亮暗 api
按照特定的方式(全亮,全暗,or 流水灯方式等) 属于策略。而不用知道任何与硬件相关的信息

通常不同的环境需要不同的方式来使用硬件,我们应当尽可能做到让驱动不带策略

另外如果换一个角度来看驱动程序,它也可以看作是应用程序与实际设备之间的一个软件层

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值