ImageVerifierCode 换一换
格式:DOC , 页数:211 ,大小:3.26MB ,
资源ID:126568      下载积分:5 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-126568.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于ARM的Linux设备驱动.doc)为本站会员(h****)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

基于ARM的Linux设备驱动.doc

1、中软国际内部教材 之 基于 ARM 的 Linux设备驱动 1 目 录 第一章 设备驱动程序开发基础 . 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 模块的使用计

2、数 .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_operat

3、ions 结构体中函数的实现 .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 中软国际内部教材 之 基于 ARM 的 L

4、inux设备驱动 2 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、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 在用户空间测试中

6、断 .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 中软国际内部教材 之 基于 ARM 的 Linux设备驱动 3 第八章 输入子系统 . 113 8.1 输入子系统架构 Overview .

7、 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 网卡与网卡驱动

8、. 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 网卡芯片 . 145 9.2.4 DM9000 发送和接受数据 . 146 9.3 UDP 协议 . 149 9.3.1 报文格式 . 149 9.3.2 UDP 协议包的封装和发送 . 153 9.3.3 UDP 协议包的接收和解析 . 1

9、55 9.3.4 测试方法 . 157 9.4 ARP 报文的发送和接受 . 157 9.4.1 ARP 协议简介 . 157 9.4.2 ARP 协议包的封装 . 159 9.4.3 ARP 协议报的接受和发送 . 159 9.4.4 测试方法 . 160 9.5 ICMP 报文接收和发送 . 160 9.5.1 ICMP 协议简介 . 160 9.5.2 ICMP 协议包的接收和发送 . 161 第十章 USB 设备驱动程序开发 .163 10.1 USB 系统概述 . 163 10.1.1 USB 总线的发展 . 163 10.1.2 USB 总线的特点 . 163 10.1.3 USB 总线规范 . 164 10.1.4 USB 设备概述 . 164 中软国际内部教材 之 基于 ARM 的 Linux设备驱动 4 10.1.5 USB 系统模型 . 164 10.1.6 USB 硬件系统总体结构 . 165 10.1.7 USB 系统层次结构 . 166 10.2 USB 主机 . 167 10.2.1 USB 主机端构成 . 168 10.2.2 客户软件 . 168 10.2.2 USB 系统软件 . 169 10.3 USB 集线器 .

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。