- 1、本文档共50页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式的linux设备驱动开发
清远见——嵌入式培训专家 http ://
电子发烧友 电子技术论坛
“黑色经典”系列之《嵌入式Linux 应用程序开发详解》
11 章 嵌入式Linux 设备驱动开发
本章目标
本书从 6 章到 10 章详细讲解了嵌入式Linux 应用程序的开
发 ,这些都是处于用户空间的内容。本章将进入到Linux 的内核空间,
初步介绍嵌入式Linux 设备驱动的开发。驱动的开发流程相对于应用
程序的开发是全新的 ,与读者以前的编程习惯完全不同,希望读者能
尽快地熟悉现在环境。经过本章的学习,读者将会掌握以下内容。
Linux 设备驱动的基本概念
Linux 设备驱动程序的基本功能
Linux 设备驱动的运作过程
常见设备驱动接口函数
掌握LCD 设备驱动程序编写步骤
掌握键盘 备驱动程序编写步骤
能够独立定制Linux 服务
清远见嵌入式Linux 应用开发班培训教材
清远见——嵌入式培训专家
电子发烧友 电子技术论坛
11.1 设备驱动概述
11.1.1 设备驱动简介及驱动模块
操作系统是通过各种驱动程序来驾驭硬件设备的,它为用户屏蔽了各种各样的设备,驱
动硬件是操作系统最基本的功能,并且提供统一的操作方式。设备驱动程序是内核的一部分,
硬件驱动程序是操作系统最基本的组成部分,在Linux 内核源程序中也占有60% 以上。因此,
熟悉驱动的编写是很重要的。
在第2 章中已经提到过,Linux 内核中采用可加载的模块化设计 LKMs ,Loadable Kernel
Modules ),一般情况下编译的Linux 内核是支持可插入式模块的,也就是将最基本的核心代
码编译在内核中,其他的代码可以选择在内核中,或者编译为内核的模块文件。
常见的驱动程序也是作为内核模块动态加载的,比如声卡驱动和网卡驱动等,而 Linux
最基础的驱动,如CPU、PCI 总线、TCP/IP 协议、APM (高级电源管理)、VFS 等驱动程序
则直接编译在内核文件中。有时也把内核模块叫做驱动程序,只不过驱动的内容不一定是硬
件罢了,比如ext3 文件系统的驱动。因此,加载驱动时就是加载内核模块。
这里,首先列举一些模块相关命令。
lsmod 列出当前系统中加载的模块,其中左边第一列是模块名,第二列是该模块大小,
第三列则是该模块使用的数量。如下所示:
[root@www root]# lsmod
Module Size Used by
autofs 12068 0 (autoclean) (unused)
eepro100 18128 1
iptable_nat
文档评论(0)