第1章 设备驱动概述
来源:互联网 发布:nginx pagespeed 编辑:程序博客网 时间:2024/06/04 18:54
本文摘自(偶有较小改动)《Linux 设备驱动开发详解》(宋宝华 编著;人民邮电出版社;),留作纪念。
——Living Park
第1章 设备驱动概述
1.1 设备驱动的作用
没有硬件的软件是空中楼阁,而没有软件的硬件则是一堆废铁。
计算机系统的软硬件互相成就了对方。
对设备驱动最通俗的解释就是“驱动硬件设备行动” 。
驱动工程师必须按照相应的架构设计设备驱动,这样,设备驱动才能良好的整合到操作系统的内核中。
1.2 无操作系统时的设备驱动
并不是任何一个计算机系统都一定要运行操作系统,在许多情况下操作系统是不必要的。
一个无限循环中夹杂对设备中断的检测或者对设备的轮询是这种系统中软件的典型架构。
1.3 有操作系统时的设备驱动
当系统中存在操作系统的时候,设备驱动变成了连接硬件和内核的桥梁,它对外呈现为操作系统的API,不再给应用软件工程师直接提供接口。
操作系统通过给设备驱动制造麻烦来达到给上层应用提供便利的目的。
1.4 Linux设备驱动
1.4.1 设备的分类及特点
计算机系统硬件主要由CPU、存储器和外设组成。
驱动针对的对象是存储器和外设(包括CPU内部集成的存储器和外设),而不是针对CPU核。Linux将存储器和外设分为3个基础大类:
l 字符设备;
l 块设备;
l 网络设备。
字符设备不经过系统的快速缓冲,而块设备经过系统的快速缓冲。
1.4.2 Linux设备驱动与整个软硬件系统的关系
除网络设备外,字符设备与块设备都被映射到Linux文件系统的文件和目录。
1.4.3 编写Linux设备驱动的技术基础
1.4.4 Linux设备驱动的学习方法
动手实践永远是学习任何软件开发的最好方法。
1.5设备驱动的Hello World: LED驱动
1.5.1 无操作系统时的LED驱动
在嵌入式系统的设计中,LED一般直接由CPU的GPIO(通用可编程的I/O口)控制。GPIO一般由两组寄存器控制,即一组控制寄存器和一组数据寄存器。
1.5.2 Linux系统下的LED驱动
- 第1章 设备驱动概述
- 第 1 章 第一章 设备驱动简介
- 第 1 章 设备驱动简介
- 《深入浅出Linux设备驱动》第一章 设备驱动概述(1)
- 《深入浅出Linux设备驱动》第一章 设备驱动概述(1)
- 第11章 设备驱动
- Linux设备驱动概述(1)
- Linux设备驱动_概述(1)
- linux设备驱动概述
- linux设备驱动概述
- 设备驱动概述
- 设备驱动概述
- linux设备驱动概述
- linux 设备驱动概述
- USB设备驱动概述
- 字符设备驱动概述
- 第一章 设备驱动概述
- Linux设备驱动概述
- SVN提交时,发现文件的换行变成^M导致无法提交,怎么办?
- JSTL1.1拾遗(学习整理)
- 成年人必看的六个故事
- sql server 内存表
- (10)揭开病毒的奥秘 DLL的远程注入技术详解
- 第1章 设备驱动概述
- C言語 100題 実践例題集
- [转载]yuv和yCbCr的差异
- Effective Java 中文版第二版的读书心得(四)通过私有构造器强化不可实例化的能力
- SQLServer和Oracle的常用函数对比
- shell中的特殊符号
- Delphi , C# 複製整個Excel WorkSheet 的方法
- AS3 CookBook学习整理(六)
- 预排序遍历树算法的图文解释(modified preorder tree traversal algorithm)