《嵌入式系统教程》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:张晨曦,韩超,沈立等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2013
  • ISBN:9787302283713
  • 页数:343 页
图书介绍:本书是一本全面介绍嵌入式系统的教材。从系统概述到硬件系统、软件系统、操作系统以及嵌入式系统的实现。

第1章 嵌入式系统概述 1

1.1嵌入式系统的概念 1

1.2嵌入式系统的发展 2

1.2.1嵌入式系统的产生 2

1.2.2嵌入式系统的发展历史 3

1.2.3嵌入式系统的发展趋势 4

1.3嵌入式系统的特点 5

1.4嵌入式系统的组成 6

1.4.1嵌入式系统的硬件 6

1.4.2嵌入式系统的软件 10

1.5嵌入式系统的分类 11

1.6嵌入式系统的应用 13

习题 14

第2章 嵌入式系统设计的系统工程方法 15

2.1嵌入式系统设计模型和设计步骤 15

2.2系统需求分析 17

2.2.1需求描述阶段 17

2.2.2规格说明阶段 18

2.3系统设计 19

2.3.1体系结构设计 19

2.3.2硬件平台的选择 19

2.3.3软件平台的选择 20

2.3.4硬件和软件的划分 21

2.3.5嵌入式系统设计方法 21

2.4系统集成与调试 23

2.4.1系统集成 23

2.4.2系统调试 23

2.5系统测试 25

2.5.1嵌入式系统的测试方法 26

2.5.2嵌入式系统的测试工具 27

2.5.3嵌入式系统的测试策略 28

2.6系统维护 28

习题 29

第3章 嵌入式处理器 30

3.1嵌入式系统的硬件组成 30

3.1.1处理器 30

3.1.2存储器 32

3.1.3附属电路与I/O模块 34

3.1.4调试接口 35

3.2嵌入式处理器 37

3.2.1嵌入式微处理器 37

3.2.2嵌入式微控制器 37

3.2.3数字信号处理器 38

3.2.4如何选择嵌入式处理器 40

3.2.5嵌入式处理器的发展 41

3.3 SoC嵌入式处理器 42

3.4典型的嵌入式处理器 45

3.4.1 ARM系列 45

3.4.2 PowerPC系列 49

3.4.3 MC68HC12系列 50

3.4.4 ColdFire系列 50

3.4.5 x86系列 52

3.4.6 Intel 8051系列微控制器 53

3.4.7 Microchip系列微控制器 56

3.4.8 TI公司TMS320系列DSP 58

3.5 ARM体系结构 59

3.5.1 ARM处理器的运行模式 59

3.5.2 ARM微处理器的工作状态 60

3.5.3 ARM支持的数据类型 60

3.5.4 ARM微处理器的寄存器组织 61

3.5.5 ARM微处理器的异常处理机制 66

3.5.6 ARM处理器的应用选型 67

习题 68

第4章 嵌入式系统的I/O模块 70

4.1 I/O接口的基本结构 70

4.1.1 I/O接口电路的组成 70

4.1.2 I/O接口电路的编址方式 71

4.1.3 I/O接口电路的数据传送方式 72

4.2定时器/计数器 74

4.2.1内部结构 75

4.2.2基本操作 76

4.2.3应用实例 79

4.3 LCD接口 80

4.3.1内部结构 80

4.3.2基本操作 83

4.3.3应用实例 84

4.4通信接口 85

4.4.1 UART异步串行接口 85

4.4.2串行外设接口 95

4.4.3 USB接口 100

4.4.4以太网接口 106

4.4.5 I2C总线接口 114

4.4.6 CAN总线接口 117

4.5通用并行接口 122

4.5.1 S3C44B0X I/O功能概述 122

4.5.2应用实例 123

4.5.3并行接口标准 124

4.6中断接口 125

4.6.1中断源 125

4.6.2特殊功能寄存器 126

4.6.3中断优先级判断 127

4.6.4应用实例 128

4.7 DMA控制器 128

4.7.1简要说明 129

4.7.2 BDMA的寄存器 130

4.7.3 BDMA的结构 130

4.7.4 BDMA自动重装模式 131

4.8 A/D和D/A转换器 131

4.8.1内部结构 132

4.8.2基本操作 132

4.8.3应用实例 133

4.9其他接口 134

习题 135

第5章 嵌入式系统的软件 136

5.1嵌入式系统软件的开发方式 136

5.1.1嵌入式系统的软件 136

5.1.2软硬件结合的方式 136

5.2嵌入式系统软件的结构 137

5.2.1软件的层次结构 137

5.2.2嵌入式软件的分类 138

5.3嵌入式Linux系统的软件 139

5.3.1 Linux操作系统、中间件、应用层程序的关系 139

5.3.2嵌入式Linux中的中间件 140

习题 144

第6章 嵌入式网络与协议栈 145

6.1嵌入式网络 145

6.2嵌入式系统的联网 146

6.2.1网络连接方式 146

6.2.2开放式系统互连模型 147

6.2.3通信方式 149

6.3基于网络的嵌入式系统设计 150

6.3.1通信分析 150

6.3.2系统性能分析 151

6.3.3网络分配与调度 152

6.4嵌入式Internet 153

6.4.1嵌入式Internet概述 153

6.4.2嵌入式Internet的应用 153

6.4.3嵌入式Internet的原理 154

6.4.4嵌入式TCP/IP 155

6.5蓝牙技术 156

6.5.1蓝牙技术及特点 156

6.5.2蓝牙协议栈 158

习题 159

第7章 嵌入式操作系统 160

7.1操作系统简介 160

7.2嵌入式操作系统和实时系统 160

7.2.1嵌入式系统的概念 160

7.2.2实时操作系统的基本概念 161

7.2.3嵌入式实时系统 162

7.2.4嵌入式操作系统的功能 163

7.3常用的嵌入式操作系统 164

7.3.1嵌入式Linux 164

7.3.2 VxWorks 165

7.3.3 Windows CE 166

7.3.4 Nucleus PLUS 166

7.3.5 μC/OS-Ⅱ 167

7.3.6 Symbian OS 167

7.3.7 QNX 167

7.4 μC/OS-Ⅱ操作系统介绍 168

7.4.1 μC/OS-Ⅱ操作系统的组织结构 168

7.4.2 μC/OS-Ⅱ内核 170

7.4.3 μC/OS-Ⅱ任务管理 172

7.4.4 μC/OS-Ⅱ时间管理 176

7.4.5 μC/OS-Ⅱ内存管理 178

7.4.6 μC/OS-Ⅱ任务之间的通信与同步 179

习题 185

第8章 嵌入式Linux的开发环境 186

8.1嵌入式Linux开发环境综述 186

8.2程序生成工具GCC工具链 187

8.2.1 GNU工具 187

8.2.2 GCC交叉编译工具集合的使用 189

8.2.3 C语言库 201

8.2.4 ELF文件格式 203

8.3工程管理工具make和Makefile 204

8.3.1 make工具和Makefile 205

8.3.2 Makefile的实例 206

8.3.3自动生成Makefile 212

8.4 GDB调试工具 214

8.4.1 GDB调试在嵌入式系统中的应用 214

8.4.2远程GDB调试 215

8.4.3 GDB的安装与使用 216

8.4.4使用gdbstub实现调试用户程序 218

8.4.5使用gdbserver调试 220

8.5主机开发环境设置 223

8.5.1串口终端工具 224

8.5.2 TFTP 227

8.5.3 NFS 229

习题 230

第9章 嵌入式Linux系统的组成和构建 231

9.1嵌入式Linux系统的结构 231

9.1.1嵌入式Linux系统的组成 231

9.1.2嵌入式Linux构建的基本工作 232

9.2嵌入式Linux的BootLoader 233

9.2.1 BootLoader的开发要点 233

9.2.2 BootLoader的结构 235

9.2.3 U-Boot概述 236

9.2.4 U-Boot的结构和使用 237

9.2.5 U-Boot的生成和使用 240

9.2.6 U-Boot的启动流程 245

9.2.7 U-Boot的扩展 246

9.3嵌入式Linux内核的构建 251

9.4根文件系统 262

9.4.1 Linux下的文件系统 262

9.4.2嵌入式Linux的文件系统介绍 264

9.4.3 Linux的根文件系统 267

习题 269

第10章 嵌入式Linux系统内核原理和移植 271

10.1 Linux内核概述 271

10.1.1 Linux内核的结构 271

10.1.2 ARM处理器上运行的Linux系统 272

10.2 Linux内核的移植工作 273

10.2.1 ARM-Linux系统的移植 273

10.2.2 ARM-Linux系统的初始化过程 274

10.2.3压缩内核的入口 274

10.2.4非压缩内核的入口 278

10.3基于S3C2410的移植工作 281

10.3.1移植的内容 281

10.3.2处理器类型支持 282

10.3.3中断系统的移植 284

10.3.4定时器的移植 285

10.3.5编译和配置选项 286

习题 287

第11章 嵌入式Linux系统的驱动程序 288

11.1 Linux驱动程序的概念 288

11.1.1 Linux驱动程序的种类 288

11.1.2 Linux设备文件 289

11.2 Linux内核编程 290

11.2.1内存访问接口 290

11.2.2内核模块编写的注意事项 291

11.2.3内核模块的作用 292

11.2.4内核模块的编写 293

11.3 Linux驱动程序的编写基础 294

11.3.1驱动程序的框架 294

11.3.2驱动程序的基本操作 299

11.3.3驱动程序中使用中断 300

11.3.4竞态处理 301

11.3.5阻塞操作 302

11.3.6异步操作 302

11.4嵌入式Linux中的几种驱动程序 303

11.4.1内存设备驱动程序 303

11.4.2 Misc驱动程序框架 305

11.4.3帧缓冲驱动程序 306

11.4.4 TTY驱动程序 308

11.4.5回环块设备驱动程序 309

11.4.6 MTD驱动程序 310

11.4.7回环网络设备驱动 312

习题 313

第12章 嵌入式系统的实现和调试 314

12.1嵌入式系统的实现 314

12.2嵌入式系统的软件测试 317

12.2.1测试的目的 317

12.2.2何时开始测试 318

12.2.3测试内容和测试方法 319

12.2.4测试实例的选择 319

12.2.5何时停止测试 320

12.2.6测试和维护 320

12.2.7评估测试的覆盖率 321

12.2.8性能测试 323

12.3嵌入式系统的调试 324

12.3.1模拟调试 324

12.3.2远程调试器与调试内核 325

12.3.3 ROM仿真器 326

12.3.4在线仿真器 327

12.3.5 BDM 329

12.3.6示波器、存储示波器和逻辑分析仪 332

12.4嵌入式系统设计中的若干问题 335

12.4.1功耗问题 335

12.4.2电磁兼容性问题 339

习题 343