网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
02月02日漏签0天
驱动吧 关注:9,810贴子:44,442
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 0回复贴,共1页
<<返回驱动吧
>0< 加载中...

字符设备驱动 —— 字符设备驱动框架

  • 只看楼主
  • 收藏

  • 回复
  • 安信实验室李生
  • 活跃吧友
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
1、概述:
linux中一切皆文件,设备也如此,并且以操作文件即文件IO的方式访问设备。
  应用程序只能通过库函数中的系统调用来操作硬件,对于每个系统调用,驱动程序中都会有一个与之对应的函数,对于字符设备驱动,这些函数集中在file_operations结构体中。当应用程序使用系统调用read、write等函数访问设备时,最终会调用到file_opeartions中的成员,当然一开始fops中的只是一大堆函数指针的调用接口,具体的函数就需要我们在驱动中实现,实现对应操作函数后,与fops一对接,应用程序最终就能对硬件进行控制了。
  那么问题来了,当应用程序使用系统调用访问设备时,linux系统怎么知道调用哪一个驱动的fops中的成员呢?
2、设备号、设备节点
设备号和驱动相关联
    设备号是一个ID,设备节点就是驱动文件
    字符设备和块设备是独立的,虽然设备号可能相同,但却是不同的设备
  3、字符设备驱动框架
作为字符设备驱动要素:
1,必须有一个设备号,用在众多到设备驱动中进行区分
2,用户必须知道设备驱动对应到设备节点(设备文件)
linux把所有到设备都看成文件
crw-r----- 1 root root 13, 64 Mar 28 20:14 event0
crw-r----- 1 root root 13, 65 Mar 28 20:14 event1
crw-r----- 1 root root 13, 66 Mar 28 20:14 event2
3,对设备操作其实就是对文件操作,应用空间操作open,read,write的时候
实际在驱动代码有对应到open, read,wri


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 0回复贴,共1页
<<返回驱动吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示