Linux驱动开发 应用程序是如何调用驱动程序的_应用如何调驱动

本文介绍了Linux中应用程序调用驱动程序的过程,强调一切皆为文件的概念,通过打开、关闭、读写系统调用来操作驱动。以字符设备驱动为例,说明了如何通过系统调用从用户空间进入内核空间进行驱动操作。文章还分享了作者的嵌入式开发经验,并提供了丰富的学习资源。
摘要由CSDN通过智能技术生成

Linux 中的三大类驱动:字符设备驱动、块设备驱动和网络、设备驱动。

其中字符设备驱动是占用篇幅最大的一类驱动,因为字符设备最多,从最简单的点
灯到 I2C、 SPI、音频等都属于字符设备驱动的类型。块设备和网络设备驱动要比字符设备驱动
复杂,就是因为其复杂所以半导体厂商一般都给我们编写好了,大多数情况下都是直接可以使
用的。所谓的块设备驱动就是存储器设备的驱动,比如 EMMC、 NAND、 SD 卡和 U 盘等存储
设备,因为这些存储设备的特点是以存储块为基础,因此叫做块设备。网络设备驱动就更好理
解了,就是网络驱动,不管是有线的还是无线的,都属于网络设备驱动的范畴。


2.Linux 下的应用程序是如何调用驱动程序的:

在 Linux 中一切皆为文件,驱动加载成功以后会在“/dev”目录下生成一个相应的文件,应
用程序通过对这个名为“/dev/xxx” (xxx 是具体的驱动文件名字)的文件进行相应的操作即可实
现对硬件的操作。

比如现在有个叫做/dev/led 的驱动文件,此文件是 led 灯的驱动文件。应用程
序使用 open 函数来打开文件/dev/led,使用完成以后使用 close 函数关闭/dev/led 这个文件。 open和 close 就是打开和关闭 led 驱动的函数,如果要点亮或关闭 led,那么就使用 write 函数来操作,也就是向此驱动写入数据,这个数据就是要关闭还是要打开 led 的控制参数。如果要获取
led 灯的状态

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值