图书介绍

国外计算机科学经典教材 嵌入式系统 体系结构、编程与设计 第3版PDF|Epub|txt|kindle电子书版本网盘下载

国外计算机科学经典教材 嵌入式系统 体系结构、编程与设计 第3版
  • (印)RajKamal著;郭俊凤译 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302468806
  • 出版时间:2017
  • 标注页数:572页
  • 文件大小:115MB
  • 文件页数:596页
  • 主题词:微型计算机-系统设计-高等学校-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

国外计算机科学经典教材 嵌入式系统 体系结构、编程与设计 第3版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 嵌入式系统简介1

1.1嵌入式系统2

1.1.1系统2

1.1.2嵌入式系统2

1.1.3嵌入式系统和通用计算系统3

1.2嵌入系统中的处理器5

1.2.1微处理器5

1.2.2微控制器6

1.2.3 ARM8

1.2.4 RISC8

1.2.5 CISC9

1.2.6 SoC9

1.2.7数字信号处理器(DSP)9

1.2.8专用处理器9

1.3系统中的嵌入式硬件单元和设备11

1.3.1构建块11

1.3.2嵌入板16

1.4嵌入式系统中的软件和编程语言概述16

1.4.1嵌入式软件ROM映像16

1.4.2用机器码编写软件17

1.4.3用特定于处理器的汇编语言编写软件18

1.4.4用高级语言编写软件18

1.5嵌入式系统的设计过程20

1.6嵌入式系统的体系结构21

1.7嵌入式系统的模型22

1.8嵌入式系统的分类24

1.9嵌入式系统设计者需要具备的技能25

1.10示例嵌入式系统26

本章小结28

关键词及其定义28

复习题32

实践练习题33

第2章 嵌入式系统的设计和开发过程35

2.1嵌入式片上系统(SoC)和VLSI电路设计技术36

2.1.1SoC36

2.1.2 VLSI电路设计技术38

2.1.3 SoC或VLSI设计中使用的ASIC38

2.1.4 IP核38

2.1.5多个处理器39

2.2复杂系统设计和处理器39

2.2.1复杂系统和微处理器39

2.2.2使用嵌入式处理器构建复杂系统43

2.3嵌入式系统的构建过程44

2.4嵌入式系统的设计过程44

2.4.1设计过程中使用的概念44

2.4.2软件设计过程45

2.4.3设计指标46

2.4.4设计过程中的抽象步骤47

2.5嵌入式系统设计中的挑战48

2.6嵌入式系统设计中的挑战:优化设计指标49

2.7嵌入式软件开发的挑战和问题51

2.8嵌入式系统中软硬件的协同设计52

2.8.1软硬件的权衡54

2.8.2嵌入式系统中软硬件协同设计的挑战:优化设计指标54

2.9嵌入式系统的设计技术54

2.9.1 IC技术54

2.9.2 VLSI技术56

2.10系统设计的形式化56

2.11设计过程和设计案例57

2.11.1巧克力自动售卖机(ACVM)57

2.11.2智能卡59

2.11.3数码相机62

本章小结64

关键词及其定义65

复习题66

实践练习题67

第3章8051、AVR和ARM微控制器、现实中的接口和I/O总线69

3.1微控制器和微处理器简介70

3.2嵌入式和外部存储器设备70

3.3微控制器-8051的体系结构71

3.3.1 8051微控制器的硬件体系结构71

3.3.2 ATMEL 89x51系列微控制器硬件体系结构72

3.3.3 ATMEL 90Sxx系列73

3.3.4指令集73

3.3.5 IO端口、电路以及IO编程76

3.3.6外部存储器接口电路77

3.3.7计数器和定时器78

3.3.8串行数据通信输入/输出79

3.3.9 8051中的中断80

3.4 ATMEL AVR微控制器80

3.5 ARM微控制器82

3.6计算机系统总线83

3.6.1 CPU/微处理器系统总线83

3.6.2存储器设备接口86

3.7现实的接口88

3.7.1现实接口电路中的设备地址88

3.7.2 I/O设备和组件的连接89

3.7.3 I/O:管理数据90

3.7.4串行和并行I/O91

3.7.5设备中断和IO93

3.8 I/O性能93

3.9 I/O总线94

3.9.1总线仲裁95

3.9.2菊花链方式96

3.9.3独立总线请求方式96

3.9.4总线轮询方式97

3.10面向网络的总线仲裁97

3.11总线98

3.11.1体系结构:单层、双层和多层98

3.11.2仲裁:集中式和分布式98

3.11.3定时99

3.11.4总线性能100

3.12多级总线100

本章小结101

关键词及其定义102

复习题105

实践练习题105

第4章 高级体系结构和处理器-存储器的组织107

4.1处理器和存储器组织108

4.1.1 Harvard存储器体系结构108

4.1.2 Von Neumann(Princeton)存储器体系结构110

4.1.3 Harvard体系结构的存储器接口电路110

4.1.4通用存储器接口电路110

4.2高级处理器体系结构介绍111

4.2.1处理器中的结构单元112

4.2.2高级处理器体系结构113

4.3处理器的组织115

4.3.1处理器组织方式:处理器的CISC设计115

4.3.2处理器组织方式:处理器的RISC设计116

4.4指令级并行性117

4.5 INTEL x86体系结构(8086、80386、 80486和奔腾)119

4.5.1 80386的体系结构120

4.5.2 80486的体系结构120

4.5.3奔腾P5(80586)和P6的体系结构120

4.6 ARM120

4.7 SHARC122

4.8存储器类型和地址124

4.8.1合并存储器124

4.8.2嵌入式存储器126

4.8.3 ROM变种126

4.8.4 RAM、SRAM和DRAM128

4.8.5闪存129

4.8.6闪存卡130

4.9存储器地址130

4.9.1将内存分配给程序段和块130

4.9.2存储器映射130

4.10存储器层次结构和缓存131

4.11性能指标132

4.11.1处理器的性能133

4.11.2存储器的性能133

4.11.3嵌入式系统的性能133

4.12处理器和存储器设备的选择134

4.12.1处理器的选择134

4.12.2处理器或微控制器版本的选择134

4.12.3微控制器版本的选择135

本章小结135

关键词及其定义136

复习题138

实践练习题139

第5章 IO设备、通信总线和分布式联网的嵌入式体系结构141

5.1 I/O的类型和示例142

5.1.1同步串行输入143

5.1.2.同步串行输出144

5.1.3同步串行输入/输出144

5.1.4异步串行输入144

5.1.5异步串行输出145

5.1.6半双工与全双工145

5.1.7串行I/O示例145

5.1.8并口146

5.1.9串并输出和输入146

5.1.10并行IO的示例146

5.2串行通信设备147

5.2.1串行设备的同步、准同步和异步通信147

5.2.2 UART模式(协议)异步串行通信148

5.2.3 IBM PC COM端口上的串行RS232C通信150

5.2.4 HDLC协议151

5.2.5同步串行数据通信的SPI端口152

5.2.6 异步UART串行数据通信的SCI端口153

5.2.7同步和异步串行数据通信的串行接口(SI)153

5.2.8 SDIO、SPI1-SD和4-SD数据通信154

5.3并行设备端口155

5.3.1与开关和小键盘连接的并行端口156

5.3.2与编码器连接的并行端口157

5.3.3与步进电机连接的并行端口158

5.3.4与LCD控制器连接的并行端口158

5.3.5与触摸屏连接的并行端口159

5.4设备端口的复杂接口特性159

5.5无线设备160

5.6定时器和计数设备160

5.6.1定时设备161

5.6.2计数设备161

5.6.3带计数设备的定时器161

5.6.4两个实例之间的时间间隔161

5.6.5预设时间的输出动作161

5.6.6软件定时器162

5.6.7 watchdog定时器162

5.6.8实时时钟162

5.7分布式网络嵌入式系统结构163

5.7.1总线的优点163

5.7.2总线的缺点164

5.8串行总线通信协议164

5.8.1 12C总线165

5.8.2 CAN总线166

5.8.3 USB总线168

5.8.4 FireWire——IEEE 1394总线标准169

5.8.5先进的串行高速总线170

5.9并行总线设备协议——使用ISA、 PCI、 PCI-X和高级总线的并行通信网络170

5.9.1 ISA和EISA总线171

5.9.2 PCI和PCI/X总线171

5.9.3 ARM总线173

5.9.4高级并行高速总线174

5.10支持Intemet的系统——网络协议174

5.10.1超文本传输协议(HTTP)175

5.10.2传输控制协议(TCP)176

5.10.3用户数据报协议(UDP)176

5.10.4 Internet协议(IP)176

5.10.5 Ethernet(以太网)177

5.11无线和移动系统协议177

5.11.1红外数据协会(IrDA)177

5.11.2蓝牙178

5.11.3 802.11.179

5.11.4 ZigBee180

本章小结180

关键词及其定义181

复习题185

实践练习题186

第6章 设备驱动程序和中断服务机制189

6.1不使用中断服务机制的编程式I/O的设备访问端口189

6.1.1 Intel I/O结构192

6.1.2同步193

6.1.3传输率194

6.1.4延迟194

6.2中断驱动的输入输出195

6.3 ISR的概念196

6.4中断源197

6.5硬件中断198

6.6软件中断199

6.6.1异常和异常处理程序200

6.6.2信号和信号处理程序201

6.7中断服务机制202

6.7.1阻止中断的溢出202

6.7.2禁用中断203

6.7.3不可屏蔽的中断和可屏蔽的中断203

6.7.4中断状态寄存器或中断挂起寄存器204

6.7.5中断向量204

6.8多中断206

6.8.1多中断调用206

6.8.2硬件分配的优先级206

6.8.3软件重写硬件优先级,以满足服务的最后期限207

6.8.4启用和禁用中断,重写硬件优先级,以满足服务的最后期限207

6.9中断服务线程作为二级中断处理程序207

6.10上下文和上下文切换周期208

6.11中断延迟210

6.12中断服务的最终期限211

6.13从上下文保存的角度对处理器中断服务机制的分类211

6.14直接存储器访问驱动的I/O212

6.14.1 DMA212

6.14.2同一中断源生成多个快速连续中断时的DMA通道使用212

6.14.3 DMA控制器212

6.15 设备驱动程序编程214

6.15.1编写系统中的物理设备驱动ISR215

6.15.2操作系统中的设备驱动程序组件215

6.15.3用系统软件函数模拟物理设备215

6.15.4作为设备驱动和网络函数的Linux内幕216

本章小结217

关键词及其定义218

复习题220

实践练习题221

第7章 编程概念及C、 C+和Java的嵌入式编程223

7.1用汇编语言(ALP)和高级语言C进行软件编程224

7.1.1汇编语言编程224

7.1.2高级语言编程224

7.2 C程序中的元素:头文件、源文件以及预处理指令225

7.2.1用于包含文件的include指令226

7.2.2源文件227

7.2.3配置文件227

7.2.4预处理指令227

7.3程序元素:宏与函数227

7.4程序元素:数据类型、数据结构、修饰符、语句、循环和指针229

7.4.1数据类型229

7.4.2修饰符的使用230

7.4.3指针和NULL指针230

7.4.4使用数据结构:堆栈、队列、数组、链表、树、管道、表格和哈希表230

7.4.5堆栈232

7.4.6多个堆栈232

7.4.7数组233

7.4.8队列233

7.4.9链表234

7.4.10循环队列234

7.4.11优先队列235

7.4.12管道235

7.4.13表和哈希表236

7.5循环、无限循环以及条件语句237

7.6函数调用242

7.7按照循环顺序进行的多函数调用242

7.8函数指针和函数队列244

7.9发生中断时函数的排列和中断服务例程队列245

7.10嵌入式C和C++:其他功能246

7.10.1编译器和优化247

7.10.2编程和汇编248

7.10.3寄存器的使用约定248

7.10.4寻址选项和指令序列的典型用法249

7.10.5过程调用和返回250

7.10.6参数的传递250

7.10.7检索参数250

7.10.8按值传递的临时变量251

7.11面向对象编程251

7.12 C++嵌入式编程251

7.12.1 C+++的优点251

7.12.2 C+++的缺点252

7.13嵌入式C++程序的代码优化以消除缺点253

7.14用Java进行嵌入式编程253

7.14.1 Java编程基础253

7.14.2使用Java编程的优点255

7.14.3 Java的缺点255

本章小结255

关键词及其定义256

复习题259

实践练习题259

第8章 程序建模的概念261

8.1程序模型262

8.2基于数据流图的程序模型265

8.2.1数据流图266

8.2.2控制数据流图模型267

8.2.3同步数据流图(SDFG)模型269

8.3用于事件控制程序的状态机编程模型270

8.3.1状态机编程模型270

8.3.2有限状态机(FSM)模型271

8.3.3 FSM状态表272

8.4多处理器系统的建模275

8.4.1多处理器系统275

8.4.2图在多处理器系统中的应用:划分和调度278

8.5 UML建模279

本章小结283

关键词及其定义284

复习题285

实践练习题285

第9章 实时操作系统Ⅰ:进程间通信与进程、任务和线程的同步287

9.1应用程序中的多个进程288

9.1.1进程288

9.1.2进程控制块(PCB)289

9.1.3进程上下文289

9.2应用程序中的多线程290

9.2.1进程的多个线程290

9.2.2多线程的编程290

9.2.3抢占式和非抢占式291

9.3任务291

9.4任务和线程状态292

9.4.1调度线程和线程状态292

9.4.2挂起的线程293

9.4.3上下文切换293

9.5任务和数据294

9.5.1上下文294

9.5.2上下文切换295

9.5.3任务控制块295

9.5.4无限事件等待循环的任务编码295

9.6通过函数、ISR、IST和任务的特征进行区分296

9.7进程间通信和同步297

9.8信号函数298

9.9信号量的概念300

9.9.1 OS的信号量IPC函数300

9.9.2作为事件信号变量或通报变量的信号量的使用301

9.9.3作为资源键的信号量以及信号量在临界段中的使用302

9.9.4使用多个信号量同步任务304

9.9.5多个任务等待同一信号量306

9.9.6计数信号量307

9.9.7 P和V信号量307

9.10禁用和启用函数312

9.10.1禁用和启用中断312

9.10.2锁定和解锁函数312

9.11共享数据问题313

9.11.1多任务和多中断服务例程的数据共享问题313

9.11.2共享数据问题的解决方法314

9.11.3优先级反转问题和优先级继承315

9.11.4死锁情况316

9.12队列和邮箱316

9.12.1队列316

9.12.2邮箱318

9.13管道和套接字321

9.13.1管道321

9.13.2套接字323

9.14远程过程调用(RPC)函数326

本章小结326

关键词及其定义327

复习题328

实践练习题329

第10章 实时操作系统Ⅱ:OS和RTOS的基本功能331

10.1 OS服务332

10.1.1 Os服务目标332

10.1.2用户和管态结构332

10.1.3结构333

10.1.4内核333

10.2进程管理334

10.3定时器函数334

10.4事件函数336

10.5存储器管理336

10.6设备、文件及IO子系统管理337

10.6.1设备管理337

10.6.2文件系统的组织和实现339

10.6.3 I/O子系统342

10.7 RTOS环境中的中断例程和中断源调用处理342

10.7.1通过中断源以及ISR发送ISR输入消息直接调用ISR343

10.7.2 RTOS首先响应中断,接着Os调用相应的ISR343

10.7.3 RTOS首先响应中断,调用对应的ISR,之后ISR把消息发送给中断服务线程344

10.7.4通过ISR接收IPC事件345

10.8实时操作系统345

10.9使用RTOS进行基本设计346

10.9.1 RTOS基本设计原则:15个设计策略347

10.9.2节约存储器和功耗350

10.10 RTOS任务调度模型353

10.11操作系统的安全问题354

10.12 OS标准:POSIX354

10.12.1 IEEE标准POSIX 1003.1b的RTOS标准化和进程间通信函数355

10.12.2 IEEE标准POSIX 1003.1b的 IO函数356

10.12.3 IEEE标准POSIX 1003.1b的文件函数356

10.13作为性能指标的中断延迟和任务响应时间356

10.13.1周期、突发以及非周期任务的调度模型中延迟和最后期限的性能指标356

10.13.2使用CPU负载作为性能指标357

10.13.3突发任务模型作为性能指标357

10.14 OS性能准则358

10.15中间件:含义和示例358

10.16应用层软件:含义和例子358

本章小结359

关键词及其定义360

复习题360

实践练习题361

第11章 实时操作系统编程:MicroC/OS-Ⅱ和VxWorks363

11.1 RTOS364

11.1.1 RTOS中的基本函数364

11.1.2当前的实时操作系统365

11.1.3 RTOS的类型365

11.1.4实时系统的基准简介367

11.2 μC/OS-Ⅱ (MUCOS)367

11.2.1系统级函数369

11.2.2任务服务函数374

11.2.3与存储器分配相关的函数381

11.2.4信号量相关函数384

11.2.5邮箱相关函数388

11.2.6队列相关函数393

11.3基于UNIX的实时操作系统398

11.3.1 pSOS398

11.3.2 VrTx398

11.3.3 QNX RTOS398

11.4 RTOS VxWorks399

11.4.1基本特性400

11.4.2系统库头文件中的任务管理库402

11.4.3 VxWorks系统函数和系统任务405

11.4.4 IPC函数408

本章小结419

关键词及其定义421

复习题422

实践练习题423

第12章 实时Linux、 Windows CE、OSEK、手持设备和汽车操作系统425

12.1 POSIX兼容操作系统426

12.2实时Linux操作系统426

12.2.1用于嵌入式系统的Linux——嵌入式Linux426

12.2.2 RTLinux431

12.3 Windows CE435

12.3.1 Windows CE的特点436

12.3.2 Windows CE编程438

12.3.3窗口和窗口管理439

12.3.4内存管理439

12.3.5文件和注册表440

12.3.6 Windows CE数据库441

12.3.7进程、线程和IPC442

12.3.8按键、触摸屏、鼠标的输入445

12.3.9通信和网络446

12.3.10设备间套接字通信函数448

12.3.11创建窗口449

12.3.12 Win32 API编程449

12.3.13嵌入式系统的Windows 8和Windows Embedded Compact 2013451

12.4 OSEK451

本章小结453

关键词及其定义455

复习题458

实践练习题459

第13章RTOS编程和程序建模设计示例与案例研究461

13.1嵌入式系统设计的案例研究以及使用MUCOS RTOS对巧克力自动售卖机(ACVM)编码462

13.1.1需求462

13.1.2规范463

13.1.3使用UML为规范建模464

13.1.4 ACVM的硬件体系结构467

13.1.5软件体系结构468

13.2数码相机的案例研究470

13.2.1需求470

13.2.2类图473

13.2.3数码相机的硬件体系结构474

13.2.4数码相机的软件体系结构475

13.3给IP包应用通信网络路由器477

13.3.1使用VxWorks将应用层字节流发送到TCP/IP网络的编码案例研究477

13.3.2需求477

13.3.3类图、类和对象478

13.4管弦乐队机器人之间通信的案例研究483

13.4.1需求485

13.4.2类和类图486

13.4.3状态图488

13.4.4机器人管弦乐队MIDI通信的硬件和软件体系结构488

13.5汽车中的嵌入式系统489

13.6汽车中自适应巡航控制(ACC)系统的嵌入式系统案例研究490

13.6.1需求491

13.6.2类图495

13.6.3 ACC硬件体系结构496

13.6.4 ACC软件体系结构497

13.6.5 ACC软件任务、同步模型和实现497

13.7汽车中嵌入式编程的一般语言特征、MISRA-C的特征497

13.8智能卡中的嵌入式系统案例研究498

13.8.1需求498

13.8.2类图499

13.8.3硬件和软件体系结构500

13.8.4同步模型501

13.9移动电话键输入软件案例研究502

13.9.1需求503

13.9.2类和类图507

13.9.3状态图509

13.9.4 SMS按键硬件509

本章小结510

关键词及其定义512

复习题515

实践练习题516

第14章 嵌入式软件开发过程和工具519

14.1嵌入式软件开发过程和工具概述519

14.1.1开发过程和软硬件519

14.1.2软件工具520

14.1.3源代码工程管理工具521

14.1.4集成开发环境(IDE)522

14.2宿主机和目标机523

14.2.1宿主系统523

14.2.2目标系统525

14.3链接和定位软件526

14.3.1文件、寻址和地址解决方法的区别527

14.3.2 Motorola S-record和Intel Hex二进制映像格式的定位器输出文件528

14.3.3用于定位器编码的存储器映射528

14.4将嵌入式软件植入目标系统530

14.4.1设备PROM或者闪存编程器530

14.4.2设备编程器的编程方式531

14.5 硬件/软件设计和协同设计中的问题531

14.5.1选择合适的平台532

14.5.2存储器敏感和处理器敏感软件535

14.5.3存储器、程序段和设备地址分配535

14.5.4嵌入式平台中Os的移植问题538

14.6程序级别的性能分析和性能建模539

14.6.1程序级别的性能分析和系统性能指标539

14.6.2多处理器系统性能539

14.6.3 MIP、MFLOP和DMIPS作为性能指标539

14.7性能和性能加速器540

本章小结540

关键词及其定义541

复习题543

实践练习题543

第15章 测试、模拟和调试技术与工具545

15.1集成和测试嵌入式硬件545

15.1.1测试嵌入式系统546

15.1.2可测试性的设计547

15.1.3断言宏547

15.1.4自测的设计547

15.1.5在宿主机上进行测试548

15.2测试方法548

15.2.1错误跟踪548

15.2.2单元测试549

15.2.3回归测试549

15.2.4选择测试用例549

15.2.5功能测试550

15.2.6覆盖测试550

15.2.7测试嵌入式软件550

15.2.8性能测试551

15.2.9维护551

15.3调试技术551

15.3.1模拟器551

15.3.2模拟器的特性552

15.3.3模拟器的局限性552

15.3.4模拟工具软件553

15.3.5嵌入式系统的原型开发、测试和调试工具553

15.4试验工具和目标硬件的调试554

15.4.1简单的伏特-欧姆表554

15.4.2简单的LED测试和逻辑探测器555

15.4.3示波器555

15.4.4位率测量仪556

15.4.5逻辑分析仪556

15.4.6电路内置仿真器(ICE)557

15.4.7监视器559

本章小结560

关键词及其定义560

复习题561

实践练习题561

附录A大学生、研究生、专业培训学生的不同课程的学习路线图563

附录B参考文献565

热门推荐