图书介绍

嵌入式系统原理与设计pdf电子书版本下载

嵌入式系统原理与设计
  • 陈文智,王总辉主编 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302238591
  • 出版时间:2011
  • 标注页数:496页
  • 文件大小:151MB
  • 文件页数:515页
  • 主题词:微型计算机-系统设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
下载压缩包 [复制下载地址] 温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页

下载说明

嵌入式系统原理与设计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 嵌入式Linux 9

1.3.3 Windows CE 10

1.3.4 Symbian 11

1.3.5 Android 11

1.3.6 uC/OS-II 12

1.3.7 VxWorks 12

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 uCLinux 72

4.1.2 RT-Linux 73

4.1.3 红旗嵌入式Linux 73

4.2 内存管理 73

4.2.1 内存管理和MMU 73

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-Boot 98

5.3.2 U-Boot特点 98

5.3.3 U-Boot代码结构分析 99

5.4 vivi简介 110

5.4.1 认识vivi 110

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 驱动模型和sysfs 174

8.3.4 kobject 175

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/O 195

8.8 DMA 197

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 使用gdbserver 218

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章 MiniGUI 309

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

精品推荐