用户空间的驱动程序
来源:互联网 发布:女装淘宝店铺起名大全 编辑:程序博客网 时间:2024/05/17 04:55
大部分设备驱动程序倾向于工作在拥有特权的内核模式。但是有些无所谓的,如SCSI,USB,I2C等内核子系统在一定程序上支持用户模式驱动程序,可以不写就可以控制这些设备。
从用户空间驱动
1.访问IO区域
linux上用户访问IO端口受到两个函数控制
ioperm()
iopl()
2. 访问内存区域
对于一个文件进行内存映射(mmaping )将使它与用户空间的一段虚拟内存区域相关联。因为linux把设备当作文件。可以将设备内存映射到RAM,然后从用户空间直接操作它。
mmap()
1.图形用户接口,将视频内存做内存映射,并直接访问图形硬件。
2.madplay是MP3播放器,可运行在几个系统上。
3.MPEG解码器通过直接操作映射缓冲播放视频。
4.用户模式SCSI
有了SG接口可以从用户空间直接发送SCSI命令。sg驱动程序输出一个字符接口。可以用open(),close(),read(),write(),ioctl(),poll(),fcntl(),mmap()系统调用与底层设备通信。
5.用户USB模式
usbfs 虚拟文件系统从用户空间以原始的方式访问USB设备。usbfs挂载/proc/bus/usb/上。
6.用户I2C模式
如果需要支持大量低速I2C设备,从用户空间驱动有意义。i
i2c-dev模块有助于开发用户模式I2C/smbus设备驱动程序。用户空间代码能通过设备节点访问I2C主机适配器。
数据结构
sched_param /usr/include/bits/sched.h
usb_dev_handle libusb包中的头文件 从用户空间操作USB设备的结构体
用户空间函数
iopl() 控制所有IO端口的访问权限
usb open()
msync 写回对比映射的内存区域的改动
mmap() 将一个文件或一个设备地址区域或一块用户空间虚拟内存绑定。
- 用户空间的驱动程序
- 用户空间编写S3c2440 lcd的驱动程序
- 编写Linux用户空间驱动程序
- 编写Linux用户空间驱动程序
- 在用户空间编写设备驱动程序的优缺点
- call_usermodehelper() ---让内核空间的驱动程序启用用户空间的若干应用程序
- 在用户空间中编写驱动程序
- LINUX2.6内核中用户空间向驱动程序传递的内存大小最大为多少?
- Linux 2.6.23将使用用户空间驱动程序API
- 用户空间的驱动
- 用户空间的映射
- 写新的流式驱动程序,6410用户按键驱动程序
- 用户空间和内核空间的详解
- 用户空间的spi驱动
- 用户空间的spi驱动
- 使用用户空间的文件系统
- UBI- 用户空间的工具
- 用户空间的spi驱动
- [102] Binary Tree Level Order Traversal
- perl 使用cookie
- Js 进阶学习
- 《Animation动画详解》
- 访问webService
- 用户空间的驱动程序
- mysql进阶:存储过程中的循环(WHILE DO and FOR LOOP)
- 遗忘算法:算法概述
- nodejs模板渲染forEach
- Spring MVC整理系列(03)————Spring MVC的REST风格url
- SpringMVC Validation
- Android5.0 拦截第三方推送的通知消息
- ContentType常用对照表
- 面试官怎样面试出合格的技术人员