图书介绍
嵌入式系统原理与设计PDF|Epub|txt|kindle电子书版本网盘下载
![嵌入式系统原理与设计](https://www.shukui.net/cover/62/34621205.jpg)
- 陈文智,王总辉主编 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302238591
- 出版时间:2011
- 标注页数:496页
- 文件大小:151MB
- 文件页数:515页
- 主题词:微型计算机-系统设计
PDF下载
下载说明
嵌入式系统原理与设计PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
上篇 原理部分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微处理器系列8
1.3 嵌入式操作系统8
1.3.1 嵌入式操作系统简介8
1.3.2 嵌入式Linux9
1.3.3 Windows CE10
1.3.4 Symbian11
1.3.5 Android11
1.3.6 uC/OS-II12
1.3.7 VxWorks12
1.3.8 其他嵌入式操作系统12
1.4 嵌入式系统设计13
1.4.1 嵌入式系统设计过程13
1.4.2 硬件设计平台的选择14
1.4.3 软件设计平台的选择14
1.4.4 嵌入式应用软件开发16
1.4.5 测试和优化17
1.5 小结18
第2章 ARM处理器和架构19
2.1 ARM处理器概述19
2.1.1 ARM公司和ARM产品简介19
2.1.2 ARM指令集体系结构版本20
2.1.3 ARM微处理器系列21
2.2 ARM9处理器架构23
2.2.1 ARM9寄存器23
2.2.2 流水线技术和哈佛体系结构26
2.2.3 CP15协处理器28
2.3 ARM9处理器的内存管理30
2.3.1 内存管理单元的作用30
2.3.2 ARM9内存管理30
2.4 ARM9异常处理36
2.4.1 ARM9异常36
2.4.2 ARM9异常处理向量表37
2.4.3 ARM9异常处理过程37
2.5 小结38
第3章 ARM9指令集和汇编40
3.1 ARM指令集概述40
3.1.1 RISC简介40
3.1.2 ARM状态和Thumb状态41
3.1.3 ARM9指令类型和指令的条件域42
3.2 ARM指令的寻址方式45
3.2.1 立即寻址45
3.2.2 寄存器寻址46
3.2.3 寄存器偏移寻址46
3.2.4 寄存器间接寻址46
3.2.5 基址变址寻址46
3.2.6 多寄存器寻址47
3.2.7 堆栈寻址47
3.2.8 相对寻址48
3.3 ARM指令简介48
3.3.1 跳转指令48
3.3.2 通用数据处理指令50
3.3.3 乘法指令53
3.3.4 Load/Store内存访问指令55
3.3.5 ARM协处理器指令58
3.3.6 杂项指令60
3.3.7 饱和算术指令61
3.3.8 ARM伪指令62
3.4 Thumb指令简介63
3.4.1 Thumb跳转指令63
3.4.2 Thumb通用数据处理指令64
3.4.3 Thumb算术指令66
3.4.4 Thumb内存访问指令68
3.4.5 Thumb软中断和断电指令70
3.4.6 Thumb伪指令71
3.5 小结71
第4章 嵌入式Linux操作系统72
4.1 嵌入式Linux简介72
4.1.1 uCLinux72
4.1.2 RT-Linux73
4.1.3 红旗嵌入式Linux73
4.2 内存管理73
4.2.1 内存管理和MMU73
4.2.2 标准Linux的内存管理74
4.2.3 uCLinux的内存管理75
4.3 进程管理76
4.3.1 进程和进程管理76
4.3.2 RT-Linux的进程管理77
4.3.3 标准Linux的进程管理78
4.3.4 uCLinux的进程管理80
4.4 文件系统80
4.4.1 文件系统定义80
4.4.2 Linux文件系统80
4.4.3 嵌入式Linux文件系统82
4.5 小结86
第5章 Boot Loader技术87
5.1 Boot Loader基本概念87
5.1.1 Boot Loader所支持的硬件环境87
5.1.2 Boot Loader的安装地址88
5.1.3 Boot Loader相关的设备和基址88
5.1.4 Boot Loader的启动过程88
5.1.5 Boot Loader的操作模式88
5.1.6 Boot Loader与主机之间的通信设备及协议89
5.2 Boot Loader的典型结构89
5.2.1 Boot Loader阶段1介绍90
5.2.2 Boot Loader阶段2介绍92
5.2.3 关于串口终端97
5.3 U-Boot简介98
5.3.1 认识U-Boot98
5.3.2 U-Boot特点98
5.3.3 U-Boot代码结构分析99
5.4 vivi简介110
5.4.1 认识vivi110
5.4.2 vivi代码导读110
5.5 小结118
第6章 ARM-Linux内核119
6.1 ARM-Linux内核简介119
6.1.1 ARM-Linux内核和普通Linux内核的区别120
6.1.2 ARM-Linux的版本控制120
6.1.3 ARM-Linux的代码结构120
6.2 ARM-Linux内存管理121
6.2.1 影响内存管理的两个方面121
6.2.2 ARM-Linux的存储机制122
6.2.3 虚拟内存125
6.3 ARM-Linux进程管理和调度129
6.3.1 进程的表示和生命周期129
6.3.2 Linux进程的创建、执行和销毁131
6.3.3 Linux进程的调度134
6.4 ARM-Linux的模块机制135
6.4.1 Linux模块概述135
6.4.2 模块代码结构136
6.4.3 模块的加载137
6.4.4 模块的卸载138
6.4.5 版本依赖139
6.5 ARM-Linux的中断管理139
6.6 ARM-Linux的系统调用143
6.7 ARM-Linux系统的启动和初始化145
6.7.1 使用Boot Loader将内核映像载入145
6.7.2 内核数据结构初始化——内核引导第一部分145
6.7.3 外设初始化——内核引导第二部分146
6.7.4 init进程和inittab脚本147
6.7.5 rc启动脚本148
6.7.6 Shell的启动148
6.8 小结149
第7章 文件系统150
7.1 嵌入式文件系统150
7.1.1 嵌入式文件系统简介150
7.1.2 Linux文件系统简介152
7.2 嵌入式Linux文件系统框架153
7.3 JFFS2嵌入式文件系统154
7.3.1 目录节点的定义156
7.3.2 数据节点156
7.3.3 可靠性支持157
7.3.4 内存使用157
7.3.5 垃圾收集159
7.3.6 写平衡159
7.3.7 JFFS2的不足之处160
7.3.8 JFFS3简介160
7.4 根文件系统160
7.4.1 什么是根文件系统160
7.4.2 建立JFFS2根文件系统161
7.5 小结165
第8章 设备驱动166
8.1 Linux驱动程序简介166
8.1.1 设备的分类167
8.1.2 设备文件167
8.1.3 主设备号和次设备号168
8.1.4 Linux设备驱动代码的分布168
8.1.5 Linux设备驱动程序的特点169
8.2 设备驱动程序结构169
8.2.1 驱动程序的注册与注销169
8.2.2 设备的打开与释放170
8.2.3 设备的读写操作171
8.2.4 设备的控制操作171
8.2.5 设备的轮询和中断处理171
8.3 Linux内核设备模型172
8.3.1 设备模型建立的目的173
8.3.2 sysfs——设备拓扑结构的文件系统表现173
8.3.3 驱动模型和sysfs174
8.3.4 kobject175
8.3.5 platform总线177
8.4 同步机制179
8.4.1 同步锁179
8.4.2 信号量183
8.4.3 读写信号量184
8.4.4 原子操作185
8.4.5 完成事件(completion)187
8.4.6 时间187
8.5 内存映射和管理189
8.5.1 物理地址映射到虚拟地址190
8.5.2 内核空间映射到用户空间190
8.6 工作队列193
8.7 异步I/O195
8.8 DMA197
8.8.1 DMA数据传输198
8.8.2 DMA定义198
8.8.3 DMA映射199
8.9 小结199
第9章 开发环境和调试技术200
9.1 交叉开发环境模式概述200
9.2 宿主机环境201
9.2.1 串口终端202
9.2.2 BOOTP协议202
9.2.3 TFTP协议202
9.2.4 交叉编译203
9.2.5 make工具203
9.3 目标板环境208
9.3.1 JTAG接口简介208
9.3.2 Boot Loader简介208
9.4 交叉编译工具链208
9.4.1 交叉编译的构建209
9.4.2 相关工具209
9.5 gdb调试器212
9.6 远程调试216
9.6.1 远程调试原理216
9.6.2 gdb远程调试功能217
9.6.3 使用gdbserver218
9.7 内核调试221
9.7.1 内核调试技术221
9.7.2 kgdb内核调试223
9.8 网络调试224
9.9 小结226
第10章 字符设备和驱动程序设计228
10.1 字符设备驱动框架228
10.2 字符设备驱动开发229
10.2.1 设备号229
10.2.2 关键数据结构232
10.2.3 字符设备注册和注销235
10.3 GPIO驱动概述236
10.4 串行总线概述237
10.4.1 SPI总线237
10.4.2 I2C总线238
10.4.3 SMBus总线239
10.5 I2C总线驱动开发239
10.5.1 I2C驱动架构239
10.5.2 关键数据结构240
10.5.3 I2C核心243
10.5.4 I2C总线驱动244
10.5.5 I2C设备驱动245
10.6 小结246
第11章 块设备和驱动程序设计247
11.1 块设备驱动程序设计概要247
11.1.1 块设备的数据交换方式248
11.1.2 块设备读写请求248
11.2 Linux块设备驱动相关数据结构与函数249
11.2.1 gendisk结构249
11.2.2 request结构250
11.2.3 request_queue队列252
11.2.4 bio结构254
11.3 块设备的注册与注销256
11.4 块设备初始化与卸载256
11.5 块设备操作256
11.6 请求处理258
11.7 MMC/SD卡驱动259
11.7.1 MMC/SD芯片介绍260
11.7.2 MMC/SD卡驱动结构264
11.7.3 MMC/SD卡块设备驱动分析265
11.7.4 HSMCI接口驱动设计分析272
11.8 小结282
第12章 网络设备驱动程序开发283
12.1 以太网基础知识283
12.1.1 CSMA/CD协议285
12.1.2 以太网帧结构286
12.1.3 嵌入式系统中常用网络协议287
12.2 嵌入式网络设备驱动开发概述288
12.3 网络设备驱动基本数据结构290
12.3.1 net_device数据结构290
12.3.2 sk_buffer数据结构292
12.4 网络设备初始化293
12.5 打开和关闭接口294
12.6 数据接收与发送294
12.7 查看状态与参数设置295
12.8 AT91SAM9G45网卡驱动296
12.8.1 EMAC模块简介296
12.8.2 模块图297
12.8.3 功能描述297
12.8.4 寄存器描述298
12.8.5 AT91SAM9G45芯片EMAC控制器驱动分析301
12.9 小结308
第13章 MiniGUI309
13.1 MiniGUI概述310
13.1.1 MiniGUI简介310
13.1.2 MiniGUI特点310
13.1.3 MiniGUI应用311
13.2 MiniGUI安装与配置312
13.2.1 安装GUI相关程序312
13.2.2 配置MiniGUI环境313
13.3 MiniGUI的使用315
13.3.1 编译应用程序315
13.3.2 交叉编译315
13.4 MiniGUI的编程316
13.4.1 编程环境介绍317
13.4.2 MiniGUI框架介绍317
13.4.3 基础编程320
13.4.4 对话框和控件编程327
13.4.5 图形编程336
13.5 小结341
第14章 Android嵌入式系统及应用开发342
14.1 Android概述342
14.1.1 简介343
14.1.2 Android系统架构344
14.1.3 Android应用扩展345
14.2 Android开发环境搭建346
14.2.1 Android开发环境介绍346
14.2.2 环境搭建步骤346
14.2.3 Android SDK介绍347
14.3 Android应用开发349
14.3.1 创建Android工程349
14.3.2 Hello World!例程352
14.4 Android应用开发扩展353
14.4.1 基础UI设计353
14.4.2 扩展性设计357
14.5 小结358
下篇 实验部分361
第1章 实验基础361
第2章 开发环境建立376
第3章 内核和模块构建390
第4章 文件系统构建402
第5章 调试技术演练408
第6章 字符设备驱动程序设计419
第7章 块设备驱动程序设计438
第8章 网络设备驱动程序设计449
第9章 MiniGUI实验设计462
第10章 Android实验设计474