Linux驱动程序概述
来源:互联网 发布:澳门域名 编辑:程序博客网 时间:2024/06/04 20:21
1-Linux驱动程序分类
- 字符设备驱动(我们学习中90%的都是字符设备驱动)
- 块设备驱动
- 网络设备驱动
(块设备驱动、网络设备驱动基本上固定好了—需要开发内容比较少)
2-常用机制:
中断
内核定时器,延时操作
并发控制
内存分配管理
阻塞、非阻塞IO
3-我们需要掌握Linux模块的编译和装载
4-什么是驱动程序?
操控硬件,是应用程序和硬件设备之间的一个接口
优点: 隐藏硬件细节,提高软件可移植性
5-设备驱动程序:提供机制而不是策略
机制:驱动程序能实现什么功能
策略:用户如何使用这些功能
6-字符设备特点:
1.如字节流一样操作,如同文件,对它的读写以字节为单位
如串口
2.通常需要实现open,write,read,close
3.APP可以通过/dev下文件系统结点来访问字符设备
如:/dev/led, /dev/ttySAC0 (com0)
4.只能顺序访问,不能前后移动指针
特例:framebuffer设备,APP可以使用mmp或者lseek来访问图像各个区域
7-块设备
1.以块的形式
如:Nandflash以页为单位
2.Open等,也可以/dev/mtdblock0
3.与字符设备区别:
1.以块为单位读写
2.块设备按照一定格式存放数据,不同文件系统类型就是用来定义这种格式。
8-网络设备:
1.有结构,大小不固定
2.任何网络事务都通过一个网络接口
如: 网卡,软件设备:回环接口loopback
3. 一个网络接口负责数据报文发送和接收
9-驱动程序加入内核的方法
Linux提供(module)机制
- 每个模块由目标代码组成(没有连接成一个完整可执行程序)
insmod
将模块动态加载到正在运行的内核
rmmod
程序移除模块
0 0
- Linux驱动程序概述
- 编写Linux操作系统设备驱动程序概述
- linux字符设备驱动程序设计概述
- Linux系统下驱动程序框架概述
- Linux系统下驱动程序框架概述
- linux字符设备驱动程序设计概述
- 驱动程序概述
- 【Linux device driver】设备驱动程序概述(一)
- Linux驱动程序笔记5——usb驱动概述1
- Linux驱动程序笔记5——usb概述2
- SPI master驱动程序概述
- 网络驱动程序概述
- Linux驱动程序
- Linux驱动程序
- linux驱动程序
- linux驱动程序
- Linux驱动程序入门-----------------------------驱动程序框架
- 驱动程序开发(一)-概述
- Maven学习 (一) 搭建Maven环境
- java actor模型和消息传递实现分析
- 协程 vs 线程 demo
- maven 生命周期
- Eclipse Maven工作空间中工程依赖调试
- Linux驱动程序概述
- Nexus入门指南
- PHP遍历数组方法总结
- eclipse查看jar包中class的中文注释乱码问题的解决
- 安卓解决大图片内存溢出
- 外国程序员整理的Java资料大全
- python3 Unicode 编码转换中文显示
- Akka2
- UITextView添加placeholder属性