基于ARM嵌入式Linux应用开发与实例教程PDF电子书下载
- 电子书积分:13 积分如何计算积分?
- 作 者:林晓飞,刘彬,张辉编著
- 出 版 社:北京:清华大学出版社
- 出版年份:2007
- ISBN:7302155593
- 页数:368 页
第一部分 1
绪论 1
第1章 嵌入式系统的硬件构成 3
1.1 嵌入式处理器 3
1.1.1 嵌入式处理器的品种划分 3
1.1.2 嵌入式处理器的选择 6
1.2 存储器 7
1.2.1 ROM 8
1.2.2 RAM 8
1.3 输入输出设备 8
1.3.1 液晶显示 8
1.3.2 触摸屏 9
1.3.3 语音输入输出技术 11
1.3.4 键盘 11
1.4 电源转换与管理 14
1.4.1 电源IC分类 14
1.4.2 电源IC的特点 15
1.4.3 电源IC选用指南 16
1.5 接口技术 17
1.5.1 并行接口 17
1.5.2 串口 18
1.5.3 USB 19
1.5.4 PCMCIA和CF 19
1.5.5 红外线接口 21
1.6 总线 22
1.6.1 ISA 22
1.6.2 PCI 23
1.6.3 I2C总线 23
1.6.4 SPI总线 24
1.6.5 PC104总线 24
1.6.6 CAN总线 25
1.7 嵌入式系统开发中常用的硬件调试和编程技术 26
1.7.1 微代码支持的串口调试 26
1.7.2 编程技术 26
1.7.3 JTAG与IEEE1149协议简介 27
1.7.4 3.3V和5V装置的互连 29
第2章 嵌入式处理器介绍 31
2.1 ARM微处理器概述 31
2.2 ARM微处理器的应用领域及特点 31
2.2.1 ARM微处理器的应用领域 31
2.2.2 AM微处理器的特点 32
2.3 ARM微处理器系列 32
2.3.1 ARM7微处理器系列 32
2.3.2 ARM9微处理器系列 33
2.3.3 ARM9E微处理器系列 33
2.3.4 ARM10E微处理器系列 34
2.3.5 SecurCore微处理器系列 34
2.3.6 StrongARM微处理器系列 35
2.3.7 Xscale处理器 35
2.4 ARM微处理器结构 35
2.4.1 RISC体系结构 35
2.4.2 ARM微处理器的寄存器结构 36
2.4.3 ARM微处理器的指令结构 36
2.5 ARM微处理器的应用选型 37
2.5.1 ARM微处理器内核的选择 37
2.5.2 系统的工作频率 37
2.5.3 芯片内存储器的容量 37
2.5.4 片内外围电路的选择 37
2.6 ARM微处理器的编程模型 38
2.7 ARM体系结构的存储器格式 38
2.7.1 大端格式 38
2.7.2 小端格式 39
2.8 指令长度及数据类型 39
2.9 处理器模式 39
2.10 寄存器组织 40
2.10.1 ARM状态下的寄存器组织 40
2.10.2 Thumb状态下的寄存器组织 42
2.10.3 程序状态寄存器 44
2.11 异常 46
2.11.1 ARM体系结构所支持的异常类型 46
2.11.2 对异常的响应 46
2.11.3 从异常返回 47
2.11.4 各类异常的具体描述 47
2.11.5 异常进入/退出 48
2.11.6 异常向量 49
2.11.7 异常优先级 49
2.11.8 应用程序中的异常处理 50
2.12 ARM微处理器的指令系统 50
2.12.1 ARM微处理器的指令的分类与格式 50
2.12.2 指令的条件域 51
2.13 ARM指令的寻址方式 52
2.13.1 立即寻址 52
2.13.2 寄存器寻址 53
2.13.3 寄存器间接寻址 53
2.13.4 基址变址寻址 53
2.13.5 多寄存器寻址 53
2.13.6 相对寻址 54
2.13.7 堆栈寻址 54
2.14 ARM指令集 54
2.14.1 跳转指令 54
2.14.2 数据处理指令 56
2.14.3 乘法指令与乘加指令 60
2.14.4 程序状态寄存器访问指令 62
2.14.5 加载/存储指令 63
2.14.6 批量数据加载/存储指令 65
2.14.7 数据交换指令 66
2.14.8 移位指令(操作) 67
2.14.9 协处理器指令 68
2.14.10 异常产生指令 70
2.15 Thumb指令及应用 70
2.16 其他嵌入式处理器介绍 71
2.16.1 x86 71
2.16.2 Power PC 71
2.16.3 Motorola 68000 72
2.16.4 MIPS 72
第3章 嵌入式系统的软件构成 74
3.1 基础知识 74
3.2 操作系统发展史 75
3.2.1 串行处理系统 75
3.2.2 简单批处理系统 75
3.2.3 多道程序设计批处理系统 75
3.2.4 分时系统 75
3.2.5 现代操作系统 75
3.3 操作系统内核 76
3.3.1 内存管理功能 76
3.3.2 内存分割 76
3.3.3 虚拟内存 77
3.4 进程与中断管理 79
3.4.1 进程描述与控制 80
3.4.2 并发控制:互斥与同步 84
3.4.3 并发控制:死锁处理 91
3.4.4 中断及中断处理 94
3.5 调度机制 95
3.5.1 调度类型 95
3.5.2 单处理器调度 97
3.5.3 多处理器调度 99
3.5.4 实时调度 101
3.6 I/O设备 104
3.6.1 I/O设备描述参数 104
3.6.2 I/O技术的演变 105
3.6.3 I/O设备逻辑描述 105
3.6.4 I/O缓冲技术 107
3.6.5 磁盘调度 109
3.7 文件管理 111
3.7.1 文件与文件系统 112
3.7.2 文件组织与访问 113
3.7.3 文件共享 115
3.7.4 记录分块 115
3.7.5 外围存储设备管理 116
3.8 用户界面 117
3.8.1 图形用户界面 118
3.8.2 关键技术 118
3.9 智能化用户界面 120
3.9.1 Agent技术 120
3.9.2 Agent技术与用户界面的结合 123
3.10 主流嵌入式操作系统介绍 124
3.10.1 Windows CE 124
3.10.2 VxWorks 125
3.10.3 OS-9 126
3.10.4 QNX 126
3.10.5 μC/OS-Ⅱ 126
3.10.6 Linux 126
第4章 嵌入式Linux介绍 128
4.1 Linux的基础知识介绍 128
4.2 Linux的进程与中断管理机制 131
4.2.1 Linux进程状态 131
4.2.2 Linux进程控制块 132
4.2.3 Linux内核同步机制 133
4.2.4 Linux进程间的通信 134
4.2.5 Linux中断与定时服务 137
4.3 Linux的调度机制 137
4.3.1 Linux的一般调度机制 138
4.3.2 RT-Linux的实时调度机制 138
4.4 Linux的文件系统管理 139
4.4.1 文件系统管理 140
4.4.2 虚拟文件系统 140
4.5 Linux下的用户界面 141
4.5.1 X Window简介 141
4.5.2 X服务器 142
4.5.3 窗口管理器 143
4.6 嵌入式Linux内核 144
4.6.1 uClinux概述 144
4.6.2 uClinux的内存管理 145
4.6.3 uClinux内核结构 146
4.6.4 内存保护 146
4.6.5 编程接口的改变 147
4.6.6 uClinux的应用程序库 147
4.6.7 uClinux内核运行方式 148
4.6.8 uClinux支持的文件系统 148
4.7 嵌入式设备的文件系统 148
4.7.1 闪存介绍 148
4.7.2 第二版扩展文件系统Ext2fs 149
4.7.3 临时文件系统tmpfs 149
4.8 日志闪存文件系统版本2——JFFS2 150
4.8.1 概述 150
4.8.2 JFFS的设计原理 150
4.9 嵌入式用户界面 152
4.9.1 XFree86 4.X(带帧缓冲区支持的X11R6.4) 152
4.9.2 Microwindows 153
4.9.3 FLTK 153
4.9.4 Qt/Embedded 154
4.10 Microwindows剖析 155
4.10.1 分层设计 155
4.10.2 设备驱动层 155
4.10.3 设备无关的图形引擎层 155
4.10.4 API(基于Win32) 156
4.10.5 消息传递机制 156
4.10.6 窗口操作 156
4.10.7 客户区域和绝对坐标 157
4.10.8 设备上下文 157
4.11 Microwindows的移植和中文化 158
4.11.1 针对uClinux所作的修改 158
4.11.2 中文化处理 158
4.12 应用实例——电子文本阅读器 159
4.12.1 功能要求以及方案选择 159
4.12.2 具体实现 159
4.13 主流嵌入式Linux 160
4.13.1 RT-Linux 160
4.13.2 uClinux 161
4.13.3 Embedix 161
4.13.4 XLinux 161
4.13.5 PocketLinux 161
4.13.6 MidoriLinux 161
4.13.7 红旗嵌入式Linux 162
第5章 嵌入式系统中的Bootloader 163
5.1 BootLoader概述 163
5.2 Bootloader设计分析 163
5.2.1 启动加载模式 164
5.2.2 下载模式 164
5.3 Bootloader的启动及初始化 164
5.3.1 Bootloader的stage1 164
5.3.2 Bootloader的stage2 165
5.4 Bootloader难点分析 166
5.5 命令控制台 168
第6章 交叉编译 169
6.1 编译原理 169
6.1.1 编译的一般过程 169
6.1.2 与编译器相关的程序 170
6.1.3 编译器的移植 171
6.2 词法分析 171
6.2.1 词法的形式化描述 171
6.2.2 词法分析程序的设计 174
6.3 语法分析 175
6.3.1 自顶向下的语法分析 176
6.3.2 自底向上的语法分析 178
6.4 中间代码 180
6.5 代码优化 182
6.6 交叉编译技术 185
6.7 GCC交叉编译器 186
6.7.1 GCC编译流程 186
6.7.2 Linux环境下的GCC交叉编译器 189
6.8 一个交叉编译器的生成实例 190
6.8.1 可执行文件格式 190
6.8.2 交叉编译器 191
6.8.3 相关问题 193
第7章 嵌入式Linux的软件开发环境 194
7.1 交叉编译环境 194
7.1.1 安装交叉编译环境 194
7.1.2 添加设备驱动和内核模块 195
7.2 可执行文件 195
7.2.1 COFF文件格式 195
7.2.2 ELF文件格式 195
7.2.3 flat文件格式 195
7.3 调试技术 196
7.3.1 常见调试方法 196
7.3.2 内存调试 197
7.3.3 MEMWATCH 197
7.3.4 YAMD 198
7.4 系统调用跟踪 200
7.5 程序调试 200
7.5.1 gdb 200
7.5.2 kgdb 201
7.5.3 Oops 203
7.6 系统引导和内核启动 204
7.6.1 Bootloader程序的设计与实现 204
7.6.2 硬件平台的通信 205
7.6.3 硬件平台初始化程序 205
7.6.4 硬件平台监控程序 205
7.7 uClinux移植 206
7.7.1 第一阶段 206
7.2.2 第二阶段 208
第8章 设备驱动程序 210
8.1 概述 210
8.1.1 设备类型 211
8.1.2 设备号 211
8.1.3 模块化编程 212
8.2 设备文件接口 213
8.2.1 用户访问接口 213
8.2.2 open入口点 213
8.2.3 close入口点 213
8.2.4 read入口点 214
8.2.5 write入口点 214
8.2.6 ioctl入口点 214
8.3 文件操作 214
8.3.1 file_operations结构 214
8.3.2 file结构 216
8.4 I/O操作 217
8.4.1 阻塞型I/O 217
8.4.2 select 218
8.4.3 异步触发 218
8.5 中断处理 219
8.5.1 注册中断处理程序 219
8.5.2 返回值 220
8.5.3 参数 220
8.5.4 实现中断处理程序 221
8.6 应用实例 222
8.6.1 字符型设备 223
8.6.2 按键 223
8.6.3 触摸屏 224
8.7 网络设备 232
8.7.1 网络驱动的框架 233
8.7.2 网卡驱动程序的加载方法 235
8.7.3 CS8900A芯片特点 236
8.7.4 CS8900A芯片驱动程序的实现 237
8.7.5 网络设备驱动程序的编译 243
8.7.6 网络驱动程序的测试 243
第二部分 245
第9章 GX-ARM9-2410EP说明 245
9.1 系统概述 245
9.2 电路说明 248
9.2.1 系统供电 249
9.2.2 系统配置 249
9.2.3 复位逻辑 250
9.2.4 启动分区(BOOT ROM BANK0) 250
9.2.5 LCD和触摸屏接口 251
9.2.6 键盘和SPI接口 252
9.2.7 A/D、D/A转换接口 253
9.2.8 Smart Media Card(NAND Flash Memory)卡电路 254
9.2.9 PCMCIA接口 255
9.2.10 SD卡主机(MMC)接口 255
9.2.11 IIC接口 256
9.2.12 USB接口 256
9.2.13 UART接口和irDA接口 257
第10章 开发环境的建立 258
10.1 建立主机开发环境 258
10.2 配置minicom 259
10.3 配置TFTP 260
10.4 配置NFS服务 261
第11章 基本实验部分 262
实验1 编译Bootloader 262
实验2 编译Linux内核 266
实验3 制作文件系统及程序的烧写 283
实验4 烧写各部分到目标板 286
实验5 交叉编译并运行简单程序 291
第12章 高级实验部分 297
实验6 简单驱动程序的编写 297
实验7 LED点阵驱动 302
实验8 中断试验 306
实验9 IIC LED实验 320
实验10 IIS音频实验 330
实验11 RS-485实验 355
- 《钒产业技术及应用》高峰,彭清静,华骏主编 2019
- 《现代水泥技术发展与应用论文集》天津水泥工业设计研究院有限公司编 2019
- 《英汉翻译理论的多维阐释及应用剖析》常瑞娟著 2019
- 《数据库技术与应用 Access 2010 微课版 第2版》刘卫国主编 2020
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《虚拟流域环境理论技术研究与应用》冶运涛蒋云钟梁犁丽曹引等编著 2019
- 《当代翻译美学的理论诠释与应用解读》宁建庚著 2019
- 《第一性原理方法及应用》李青坤著 2019
- 《高含硫气藏开发腐蚀控制技术与实践》唐永帆,张强 2018
- 《教师教育系列教材 心理学原理与应用 第2版 视频版》郑红,倪嘉波,刘亨荣编;陈冬梅责编 2020
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《社会学与人类生活 社会问题解析 第11版》(美)James M. Henslin(詹姆斯·M. 汉斯林) 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《家》高铁林,王力军文;胡博综图 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019