图书介绍
国外计算机科学经典教材 嵌入式系统 体系结构、编程与设计 第3版PDF|Epub|txt|kindle电子书版本网盘下载
- (印)RajKamal著;郭俊凤译 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302468806
- 出版时间:2017
- 标注页数:572页
- 文件大小:115MB
- 文件页数:596页
- 主题词:微型计算机-系统设计-高等学校-教材
PDF下载
下载说明
国外计算机科学经典教材 嵌入式系统 体系结构、编程与设计 第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