嵌入式系统原理与设计 第2版PDF电子书下载
- 电子书积分:14 积分如何计算积分?
- 作 者:陈文智,王总辉主编
- 出 版 社:北京:清华大学出版社
- 出版年份:2017
- ISBN:9787302460787
- 页数:449 页
上篇 原理部分 3
第1章 嵌入式系统概述 3
1.1嵌入式系统简介 3
1.1.1嵌入式系统历史与现状 3
1.1.2嵌入式系统体系结构 4
1.1.3应用领域和发展方向 5
1.2嵌入式处理器 6
1.2.1嵌入式处理器简介 6
1.2.2 ARM处理器的应用领域及一般特点 7
1.2.3 ARM处理器系列 7
1.3嵌入式操作系统 8
1.3.1嵌入式操作系统简介 8
1.3.2嵌入式Linux 8
1.3.3 VxWorks 9
1.3.4 μC/ OS- Ⅱ 10
1.3.5 Windows CE 10
1.3.6 Symbian 11
1.3.7 Android 11
1.3.8 iOS 11
1.3.9其他嵌入式操作系统 12
1.4嵌入式系统设计 12
1.4.1嵌入式系统设计过程 12
1.4.2硬件设计平台的选择 13
1.4.3软件设计平台的选择 14
1.4.3嵌入式应用软件开发 16
1.4.5测试和优化 17
小结 17
进一步探索 17
第2章ARM处理器和指令集 18
2.1 ARM处理器简介 18
2.1.1 ARM公司和ARM产品简介 18
2.1.2 ARM指令集体系结构版本 18
2.1.3 ARM处理器系列 20
2.2 ARM指令集简介 22
2.2.1 RISC简介 22
2.2.2 ARM状态和Thumb状态 22
2.2.3 ARM指令类型和指令的条件域 23
2.3 ARM指令的寻址方式 27
2.3.1立即寻址 27
2.3.2寄存器寻址 27
2.3.3寄存器偏移寻址 27
2.3.4寄存器间接寻址 28
2.3.5基址变址寻址 28
2.3.6多寄存器寻址 28
2.3.7堆栈寻址 29
2.3.8相对寻址 29
2.4 ARM指令简介 30
2.4.1跳转指令 30
2.4.2通用数据处理指令 32
2.4.3乘法指令 35
2.4.4 Load/Store内存访问指令 37
2.4.5 ARM协处理器指令 40
2.4.6杂项指令 42
2.4.7饱和算术指令 43
2.4.8 ARM伪指令 44
2.5 Thumb指令简介 46
2.5.1 Thumb跳转指令 46
2.5.2 Thumb通用数据处理指令 47
2.5.3 Thumb算术指令 49
2.5.4 Thumb内存访问指令 51
2.5.5 Thumb软中断和断电指令 53
2.5.6 Thumb伪指令 53
小结 54
进一步探索 54
第3章 嵌入式Linux操作系统 55
3.1嵌入式Linux简介 55
3.1.1 μ…CLinux 55
3.1.2 RT-Linux 56
3.1.3红旗嵌入式Linux 56
3.2内存管理 56
3.2.1内存管理和MMU 56
3.2.2标准Linux的内存管理 57
3.2.3RT-Linux的内存管理 58
3.3进程管理 59
3.3.1进程和进程管理 59
3.3.2 RT-Linux的进程管理 60
3.3.3标准Linux的进程管理 61
3.3.4 μCLinux的进程管理 62
3.4文件系统 63
3.4.1文件系统定义 63
3.4.2 Linux文件系统 63
3.4.3嵌入式Linux文件系统 64
小结 69
进一步探索 69
第4章 嵌入式软件编程技术 70
4.1嵌入式编程基础 70
4.1.1嵌入式汇编语言基础 70
4.1.2嵌入式高级编程知识 71
4.1.3嵌入式开发工程 73
4.2嵌入式汇编编程技术 76
4.2.1基本语法 76
4.2.2汇编语言程序设计案例 79
4.3嵌入式高级编程技术 80
4.3.1函数可重入 80
4.3.2中断处理过程 81
4.4高级语言与汇编语言混合编程 81
4.4.1高级语言与汇编语言混合编程概述 81
4.4.2汇编程序调用C程序 82
4.4.3 C程序调用汇编程序 83
小结 84
进一步探索 84
第5章 开发环境和调试技术 85
5.1交叉开发模式概述 85
5.2宿主机环境 86
5.2.1串口终端 86
5.2.2 BOOTP 87
5.2.3 TFTP 87
5.2.4交叉编译 87
5.3目标板环境 88
5.3.1 J TAG接口简介 88
5.3.2 Boot Loader简介 88
5.4交叉编译工具链 88
5.4.1交叉编译的构建 89
5.4.2相关工具 89
5.5 gdb调试器 92
5.6远程调试 96
5.6.1远程调试原理 96
5.6.2 gdb远程调试功能 97
5.6.3使用gdbserver 98
5.7内核调试 101
5.7.1内核调试技术 101
5.7.2 kgdb内核调试 103
5.8网络调试 104
小结 106
进一步探索 106
第6章Boot Loader技术 107
6.1 Boot Loader基本概念 107
6.1.1 Boot Loader所支持的硬件环境 107
6.1.2 Boot Loader的安装地址 107
6.1.3 Boot Loader相关的设备和基址 108
6.1.4 Boot Loader的启动过程 108
6.1.5 Boot Loader的操作模式 108
6.1.6 Boot Loader与主机之间的通信设备及协议 108
6.2 Boot Loader典型结构 109
6.2.1 Boot Loader阶段1介绍 109
6.2.2 Boot Loader阶段2介绍 110
6.2.3关于串口终端 117
6.3 U-Boot简介 117
6.3.1认识U-Boot 117
6.3.2 U-Boot特点 117
6.3.3 U-Boot代码结构分析 118
6.4 vivi简介 129
6.4.1认识ViVi 129
6.4.2 vivi代码导读 129
小结 137
进一步探索 137
第7章ARM-Linux内核 138
7.1 ARM-Linux内核简介 138
7.1.1 ARM-Linux内核和普通Linux内核的区别 138
7.1.2 ARM-Linux的版本控制 139
7.1.3 ARM-Linux的代码结构 139
7.2 ARM-Linux内存管理 140
7.2.1影响内存管理的两个方面 140
7.2.2 ARM-Linux的存储机制 141
7.2.3虚拟内存 144
7.3 ARM-Linux进程管理和调度 147
7.3.1进程的表示和生命周期 147
7.3.2 Linux进程的创建、执行和销毁 149
7.3.3 Linux进程的调度 152
7.4 ARM-Linux模块机制 153
7.4.1 Linux模块概述 154
7.4.2模块代码结构 155
7.4.3模块的加载 155
7.4.4模块的卸载 156
7.4.5版本依赖 157
7.5 ARM-Linux中断管理 157
7.6 ARM-Linux系统调用 161
7.7 ARM-Linux系统启动和初始化 163
7.7.1使用Boot Loader将内核映像载入 163
7.7.2内核数据结构初始化——内核引导第一部分 163
7.7.3外设初始化——内核引导第二部分 164
7.7.4 init进程和inittab脚本 165
7.7.5 rc启动脚本 166
7.7.6 Shell的启动 166
小结 167
进一步探索 167
第8章 文件系统 168
8.1嵌入式文件系统简介 168
8.1.1 Linux文件系统简介 168
8.1.2嵌入式文件系统简介 169
8.2嵌入式Linux文件系统框架 170
8.3 JFFS2嵌入式文件系统 172
8.3.1目录节点的定义 173
8.3.2数据节点 174
8.3.3可靠性支持 174
8.3.4内存使用 175
8.3.5垃圾收集 176
8.3.6写平衡 177
8.3.7 JFFS2的不足之处 177
8.3.8 JFFS3简介 177
8.4根文件系统 178
8.4.1什么是根文件系统 178
8.4.2建立JFFS2根文件系统 178
小结 182
进一步探索 182
第9章 设备驱动程序设计基础 183
9.1 Linux设备驱动程序简介 183
9.1.1设备的分类 184
9.1.2设备文件 184
9.1.3主设备号和次设备号 184
9.1.4 Linux设备驱动代码的分布 185
9.1.5 Linux设备驱动程序的特点 185
9.2设备驱动程序结构 186
9.2.1驱动程序的注册与注销 186
9.2.2设备的打开与释放 186
9.2.3设备的读写操作 187
9.2.4设备的控制操作 187
9.2.5设备的轮询和中断处理 188
9.3 Linux内核设备模型 189
9.3.1设备模型建立的目的 189
9.3.2 sysfs——设备拓扑结构的文件系统表现 189
9.3.3驱动模型和sysfs 190
9.3.4 kobject 191
9.3.5 platform总线 194
9.4同步机制 195
9.4.1同步锁 195
9.4.2信号量 199
9.4.3读写信号量 201
9.4.4原子操作 202
9.4.5完成事件 203
9.4.6时间 204
9.5内存映射和管理 206
9.5.1物理地址映射到虚拟地址 207
9.5.2内核空间映射到用户空间 207
9.6工作队列 210
9.7异步I/O 213
9.8 DMA 215
9.8.1 DMA数据传输 215
9.8.2 DMA定义 215
9.8.3 DMA映射 216
小结 217
进一步探索 217
第10章 字符设备和驱动程序设计 218
10.1字符设备驱动框架 218
10.2字符设备驱动开发 219
10.2.1设备号 219
10.2.2关键数据结构 222
10.2.3字符设备注册和注销 225
10.3 GPIO驱动概述 226
10.4串行总线概述 227
10.4.1 SPI总线 227
10.4.2 I2C总线 228
10.4.3 SMBus总线 228
10.5 I2 C总线驱动开发 229
10.5.1 I2 C驱动架构 229
10.5.2关键数据结构 230
10.5.3 I2C核心 233
10.5.4 I2 C总线驱动 234
10.5.5 I2C设备驱动 235
小结 235
进一步探索 236
第11章 块设备和驱动程序设计 237
11.1块设备驱动程序设计概要 237
11.1.1块设备的数据交换方式 237
11.1.2块设备读写请求 237
11.2 Linux块设备驱动相关数据结构与函数 239
11.2.1 gendisk结构 239
11.2.2 request结构 240
11.2.3 request_queue队列 242
11.2.4 bio结构 244
11.3块设备的注册与注销 246
11.4块设备初始化与卸载 246
11.5块设备操作 247
11.6请求处理 248
11.7 MMC卡驱动 250
11.7.1 MMC/SD芯片介绍 250
11.7.2 MMC/SD卡驱动结构 255
11.7.3 MMC卡块设备驱动分析 255
11.7.4 HSMCI接口驱动设计分析 262
小结 272
进一步探索 272
第12章 网络设备驱动程序开发 273
12.1以太网基础知识 273
12.1.1 CSMA/CD协议 275
12.1.2以太网帧结构 276
12.1.3嵌入式系统中常用的络协议 277
12.2.嵌入式网络设备驱动开发概述 278
12.3网络设备驱动基本数据结构 279
12.3.1 net_ device数据结构 279
12.3.2 sk_ buffer数据结构 282
12.4网络设备初始化 283
12.5打开和关闭接口 283
12.6数据接收与发送 284
12.7查看状态与参数设置 285
12.8 AT91SAM9G45网卡驱动 286
12.8.1 EMAC模块简介 286
12.8.2模块图 286
12.8.3功能描述 287
12.8.4寄存器描述 287
12.8.5 AT91SAM9G45芯片EMAC控制器驱动分析 290
小结 297
进一步探索 297
第13章 嵌入式GUI及应用程序设计 298
13.1嵌入式GUI设计概述 298
13.1.1嵌入式GUI简介 298
13.1.2嵌入式GUI设计需求 299
13.1.3嵌入式GUI设计原则 299
13.1.4主流嵌入式GUI简介 300
13.2嵌入式GUI体系结构设计 301
13.2.1嵌入式GUI体系结构 301
13.2.2抽象层 302
13.2.3核心层 302
13.2.4接口层 303
13.3基于主流GUI的应用程序设计 303
13.3.1 MiniGUI开发环境搭建 303
13.3.2基于MiniGUI的应用程序设计 306
13.3.3 Android开发环境搭建 310
13.3.4基于Android的应用程序设计 312
小结 316
进一步探索 316
下篇 实验部分 319
第1章 实验基础 319
第2章 开发环境建立 333
第3章 内核和模块构建 349
第4章 文件系统构建 361
第5章 调试技术演练 366
第6章 字符设备和驱动程序设计 377
第7章 块设备驱动程序设计 396
第8章 网络设备驱动程序设计 407
第9章MiniGUI应用设计 419
第10章Android应用设计 430
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《设计十六日 国内外美术院校报考攻略》沈海泯著 2018
- 《计算机辅助平面设计》吴轶博主编 2019
- 《第一性原理方法及应用》李青坤著 2019
- 《计算机组成原理解题参考 第7版》张基温 2017
- 《高校转型发展系列教材 素描基础与设计》施猛责任编辑;(中国)魏伏一,徐红 2019
- 《景观艺术设计》林春水,马俊 2019
- 《高等院校保险学专业系列教材 保险学原理与实务》林佳依责任编辑;(中国)牟晓伟,李彤宇 2019
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019