6-基于ARMLinux设备驱动.doc

  1. 1、本文档共213页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6-基于ARMLinux设备驱动

目 录 第一章 设备驱动程序开发基础 5 1.1 设备驱动程序的作用 5 1.2 从无操作系统的设备驱动到有操作系统的设备驱动 5 1.2.1无操作系统的设备驱动 5 1.2.2 有操作系统的设备驱动 7 1.3 Linux内核模块 10 1.3.1 Hello World 模块 10 1.3.2 Linux内核模块的程序结构 11 1.3.3 内核模块的编译 13 1.3.4 内核模块的加载和卸载 15 1.3.5 模块参数 17 1.3.6 模块导出符号 17 1.3.7 模块的使用计数 18 1.4 Linux设备驱动 19 1.4.1 Linux设备驱动的分类 19 1.4.2 设备号 19 1.4.3 设备文件 20 1.4.4 Linux设备文件与设备驱动 21 第二章 Linux字符设备驱动程序 23 2.1 字符设备驱动简介 23 2.2 重要的数据结构 24 2.2.1 file_operations结构 24 2.2.2 file结构体 28 2.2.3 inode结构 30 2.3 字符设备驱动编写 32 2.3.1 设备号的分配和释放 33 2.3.2 字符设备的注册 34 2.3.3 file_operations结构体中函数的实现 36 2.3 设备驱动的编译和加载 40 2.4 设备驱动程序的测试 40 2.5 开机自动创建设备节点 41 第三章 简单的字符设备驱动试验 43 3.1 S3C2440GPIO简介 43 3.2 I/O内存读取 43 3.3 蜂鸣器驱动试验 44 3.3.1 蜂鸣器硬件电路 45 3.3.2 蜂鸣器驱动程序设计 45 3.3.3 蜂鸣器测试程序的设计 48 3.4 led驱动试验 49 3.4.1 led硬件电路 49 3.4.2 利用linux内核提供的接口设置寄存器 50 3.4.3 LED驱动程序设计 52 3.3.3 蜂鸣器测试程序的设计 54 第四章 Linux设备驱动的并发与竞争 57 4.1 kbuf的缺陷 57 4.2 并发与竞态 57 4.3 中断屏蔽 58 4.4 原子操作 58 4.4.1 整型原子操作 58 4.4.2 位原子操作 60 4.5 内核锁 60 4.5.1 自旋锁 60 4.5.2 读写自旋锁 62 4.5.3 顺序锁 64 4.6 信号量 65 4.5.4 信号量与自旋锁的区别 67 第五章 阻塞与非阻塞I/O 69 5.1 阻塞与非阻塞I/O介绍 69 5.2 等待队列 69 5.3 在kbuf实例汇总加入阻塞与非阻塞I/O 71 5.4 对kbuf阻塞与非阻塞I/O的测试 72 5.5 轮询操作 74 5.5.1 设备驱动中poll方法的实现 74 5.5.2 在kbuf中加入对读轮询的支持 75 5.5.3 在用户空间验证kbuf设备的读轮询 76 第六章 中断处理 78 6.1 中断的基本概念 78 6.2 linux中断编程 78 6.3 中断的/proc接口 80 6.4 中断实例 81 6.4.1 硬件资源 81 6.4.2 代码实现 82 6.4.3 在用户空间测试中断 84 6.5 中断的顶半部和底半部 84 6.5.1 tasklet 85 6.5.2 工作队列 86 6.6 中断共享 87 第七章 Linux设备模型 89 7.1 Sysfs文件系统 89 7.2 设备模型的构建 93 7.2.1 Kobject 93 7.2.2 Kset 99 7.2.3 kobj_attribute 102 7.2.4 module的创建 108 7.2.5 module的撤销 111 第八章 输入子系统 113 8.1?输入子系统架构Overview 113 8.1.1?主要数据结构 113 8.1.2?输入子系统架构示例图 114 8.2?输入链路的创建过程 114 8.2.1?硬件设备的注册 114 8.2.2?Event Handler层 116 8.3?设备的打开和读写 118 8.3.1?Open 118 8.3.2?Read 119 8.3.3?Write 119 8.4?Input子系统实例 119 第九章 网络设备驱动程序开发 135 9.1 网络协议原理 135 9.1.1 TCP/IP协议 135 9.1.2 报文的处理过程 139 9.1.3 网卡与网卡驱动 140 9.1.4 网络传输实例:局域网内UDP报文发送和接收 141 9.1.5 IP地址与MAC地址 142 9.1.6 网络调试工具——Wireshark 143 9.2 DM9000芯片操作 143 9.2.1 硬件连接 143 9.2.2 DM9000的操作方式 144 9.2.3 初始化DM9000

文档评论(0)

tmd2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档