现代嵌入式计算(英文版)
作者 : (美)Peter Barry Intel公司  Patrick Crowley 华盛顿大学圣路易斯分校 著
丛书名 : 经典原版书库
出版日期 : 2013-03-04
ISBN : 978-7-111-41235-9
定价 : 79.00元
教辅资源下载
扩展信息
语种 : 英文
页数 : 540
开本 : 16
原书名 : Modern Embedded Computing:Designing Connected,Pervasive,Media-Rich Systems
原出版社: Elsevier (Singapore) Pte Ltd
属性分类: 教材
包含CD :
绝版 :
图书特色

以Intel Atom处理器为例来开发当今流行的嵌入式计算系统
我深感兴趣地关注新出现的物联网现象——在物联网的世界中,智能系统以无缝方式工作,在实时环境中与云基础架构一起来收集、组织和分析海量数据并从中获取知识……本书的作者不仅具有多年在嵌入式系统、互联网、Intel架构和系统工程方面的丰富经验,而且在书中表现出其在技术维度的远见卓识,这将帮助我们在未来成功应对嵌入式系统领域不断变化的挑战。
——Pranav Mehta,Intel资深主任工程师&CTO
这是一本采用基于实验的方法(使用Intel架构)全面讲述嵌入式系统设计的优秀图书,理论联系实际,非常实用,是高等学校嵌入式系统设计课程的理想教材,也适合嵌入式系统的软硬件工程师及相关专业人员参考阅读。
——Tilman Wolf,马萨诸塞大学阿姆赫斯特分校副教授
本书就其方法(更多面向消费电子应用,这是嵌入式处理器市场的最大部分)而言,是一本独一无二的书。它的许多主题在其他教材中都没有涉及,高级的内容包括联网和图形等。
—— Lee Coraor, 宾州州立大学计算机科学和工程副教授
不像嵌入式微控制器只执行面向工业应用的有限功能,现代嵌入式系统是互连、富媒体的(利用网络功能和图形用户接口)。本书讲述当代嵌入式计算系统的平台架构,这些嵌入式系统能够驱动普适、互连的设备(如移动电话、数字照相机、智能家居系统)。
Intel Atom处理器广泛用于如电子阅读器、连网电视、平板电脑、笔记本电脑这样的设备,全书一开始就讨论嵌入式平台架构和专用于Intel Atom处理器的架构,接下来分别讨论系统启动、操作系统、功耗优化、图形和多媒体加速、网络连通性、平台调试。本书全面介绍了如何开发嵌入式片上系统(SoC)框架,既适合作为高校嵌入式计算课程的教材,也适合嵌入式系统设计人员及相关专业人员阅读参考。
本书特色
采用基于主流PC芯片架构的Intel Atom处理器学习嵌入式系统设计,并提供与其他平台的对比分析。
设计面向支持游戏、车载信息娱乐系统、医疗记录检索、销售点购买、联网、数字存储以及其他零售、消费和工业应用的嵌入式处理器。
作者简介
Peter Barry 现任Intel嵌入式与通信事业部主任工程师。他有20多年的从业经历,先后供职于Intel、Basic Communications、 Nortel Networks和Tellabs公司,一直致力于嵌入式系统的研发工作,研发的处理器包括Z80、68K、PowerPC、ARM、XScale和Intel 架构系统,开发了用于proprietary RTOS、pSOS、VxWorks、WinCE和Linux的多个板级支持包。他还开发出主要用于数据通信和电信以及工业应用的多个协议栈和应用程序。
Patrick Crowley 现任华盛顿大学圣路易斯分校计算机科学与工程系副教授。他的研究兴趣包括计算机和网络系统体系结构、可编程嵌入式网络系统设计、高级网络监测和安全技术。他与他人共同创立了ACM/IEEE Symposium on Architectures for Networking and Communications Systems。2007年,他获选进入美国国防部高级研究计划局计算机科学研究部。

上架指导

计算机\嵌入式编程

封底文字

以Intel Atom处理器为例来开发当今流行的嵌入式计算系统
我深感兴趣地关注新出现的物联网现象——在物联网的世界中,智能系统以无缝方式工作,在实时环境中与云基础架构一起来收集、组织和分析海量数据并从中获取知识……本书的作者不仅具有多年在嵌入式系统、互联网、Intel架构和系统工程方面的丰富经验,而且在书中表现出其在技术维度的远见卓识,这将帮助我们在未来成功应对嵌入式系统领域不断变化的挑战。
——Pranav Mehta,Intel资深主任工程师&CTO

这是一本采用基于实验的方法(使用Intel架构)全面讲述嵌入式系统设计的优秀图书,理论联系实际,非常实用,是高等学校嵌入式系统设计课程的理想教材,也适合嵌入式系统的软硬件工程师及相关专业人员参考阅读。
——Tilman Wolf,马萨诸塞大学阿姆赫斯特分校副教授


本书就其方法(更多面向消费电子应用,这是嵌入式处理器市场最大部分)而言,是一本独一无二的书。它的许多主题在其他教材中都没有涉及,高级的内容包括联网和图形等。
—— Lee Coraor, 宾州州立大学计算机科学和工程副教授

不像嵌入式微控制器只执行面向工业应用的有限功能,现代嵌入式系统是互连、富媒体的(利用网络功能和图形用户接口)。本书讲述当代嵌入式计算系统的平台架构,这些嵌入式系统能够驱动普适、互连的设备(如移动电话、数字照相机、智能家居系统)。
Intel Atom处理器广泛用于如电子阅读器、连网电视、平板电脑、笔记本电脑这样的设备,全书一开始就讨论嵌入式平台架构和专用于Intel Atom处理器的架构,接下来分别讨论系统启动、操作系统、功耗优化、图形和多媒体加速、网络连通性、平台调试。本书全面介绍了如何开发嵌入式片上系统(SoC)框架,既适合作为高校嵌入式计算课程的教材,也适合嵌入式系统设计人员及相关专业人员阅读参考。
本书特点
• 采用基于主流PC芯片架构的Intel Atom处理器学习嵌入式系统设计,并提供与其他平台的对比分析。
• 设计面向支持游戏、车载信息娱乐系统、医疗记录检索、销售点购买、联网、数字存储以及其他零售、消费和工业应用的嵌入式处理器。

作者简介

(美)Peter Barry Intel公司  Patrick Crowley 华盛顿大学圣路易斯分校 著:Peter Barry 现任Intel嵌入式与通信事业部主任工程师。他有20多年的从业经历,先后供职于Intel、Basic Communications、 Nortel Networks和Tellabs公司,一直致力于嵌入式系统的研发工作,研发的处理器包括Z80、68K、PowerPC、ARM、XScale和Intel 架构系统,开发了用于proprietary RTOS、pSOS、VxWorks、WinCE和Linux的多个板级支持包。他还开发出主要用于数据通信和电信以及工业应用的多个协议栈和应用程序。 Patrick Crowley 现任华盛顿大学圣路易斯分校计算机科学与工程系副教授。他的研究兴趣包括计算机和网络系统体系结构、可编程嵌入式网络系统设计、高级网络监测和安全技术。他与他人共同创立了ACM/IEEE Symposium on Architectures for Networking and Communications Systems。2007年,他获选进入美国国防部高级研究计划局计算机科学研究部。 作者照片从原书封底上扫描

图书目录


Contents

Preface ............................... v
Foreword ................................. vii
Acknowledgments.......... x
PART 1 PRINCIPLES OF MODERN EMBEDDED SYSTEMS
CHAPTER 1 Embedded Systems Landscape ..............3
What Is an Embedded Computer System ..................... 3
Applications and Form Factors ............ 4
Power ...................................... 4
System Resources and Features ............................ 5
User Assumptions ........................................... 5
Why Is This Transition Inevitable ................................5
What Range of Embedded Systems Exists ....................... 7
What to Expect from the Rest of This Book.............................. 8
CHAPTER 2 Attributes of Embedded Systems .........................9
Embedded Platform Characteristics....................................... 12
Central Processing Unit (CPU) .........................................12
Integration Level............................................... 13
Power Consumption................................................ 14
Form Factor ...................................... 15
Expansion........................................................ 17
Application-Specific Hardware ...................17
Certification ...................................... 18
Reliability/Availability............................................ 18
User Interfaces .................................. 19
Connectivity ...................................... 20
Security ............................................. 20
Summary...................................................... 21
CHAPTER 3 The Future of Embedded Systems .......................... 23
Technology Trends ................................ 23
Computation............................................................ 24
Connectivity ...................................... 25
Storage .............................................. 29
Sensing .............................................. 30
Issues, Applications, and Initiatives...................... 30
Energy ............................................... 30
Security ............................................. 32
Health ................................................ 33
Challenges and
Uncertainties...................................... 34
Open Systems, Internet Access, and Neutrality.................... 34
Privacy .............................................. 35
Successful Commercialization .................. 36
Summary.................................................... 36
PART 2 EMBEDDED SYSTEMS ARCHITECTURE AND OPERATION
CHAPTER 4 Embedded Platform Architecture ........................... 41
Platform Overview ................................ 41
Processor ........................................... 41
System Memory Map ....................... 43
Interrupt Controller ........................... 44
Timers ............................................... 55
Volatile Memory Technologies ....................................... 61
DRAM Controllers ........................... 62
SRAM Controllers ............................ 66
Nonvolatile Storage ............................... 67
NOR Flash ........................................ 68
NAND Flash ..................................... 70
Hard Disk Drives and Solid State Drives ............................... 72
Device Interface—High Performance........................ 73
Peripheral Component Interconnect (PCI) ................................ 74
Universal Serial Bus.................................................... 80
Programming Interface ..................... 85
Linux Driver ..................................... 89
Device Interconnect—Low Performance............................ 89
Inter-Integrated Circuit Bus.................................... 89
System Management Bus (SMBus) .......................................... 91
Serial Peripheral Interface (SPI) ...........................92
Audio Buses ...................................... 93
Inter IC Sound (I2S) ......................... 93
Universal Asynchronous Receiver/Transmitter......................... 93
General-Purpose Input/Output ........................................ 96
Power Delivery ...................................... 97
Summary................................................. 97
CHAPTER 5 Embedded Processor Architecture........................ 99
Basic Execution Environment..................................... 99
Privilege Levels .............................. 103
Floating-Point Units ....................... 104
Processor Specifics ......................... 105
Application Binary Interface..................................... 107
Processor Instruction Classes ................................. 112
Immediate Operands ....................... 113
Register Operands........................................... 113
Memory Operands .......................... 114
Data Transfer Instructions ........................................ 114
Arithmetic Instructions ............................................. 115
Branch and Control Flow Instructions ...................... 118
Structure/Procedure Instructions ...................... 119
SIMD Instructions .......................... 120
Exceptions/Interrupts Model ......................................... 121
Precise and Imprecise Exceptions ....................... 122
Vector Table Structure............................................... 124
Exception Frame ................................. 126
Masking Interrupts .............................. 126
Acknowledging Interrupts ............................................. 128
Interrupt Latency ................................. 128
Memory Mapping and Protection ........130
Memory Management Unit ............................ 131
Translation Caching ........................ 135
MMU and Processes ........................... 135
Memory Hierarchy .............................. 136
Local Memory ................................ 138
Cache Hierarchy ............................. 138
Cache Coherency ............................ 142
System Bus Interface ...................... 145
Memory Technology............................................. 145
Intel Atom Microarchitecture (Supplemental Material)..................... 145
Microarchitecture.................................................. 146
Front End ........................................ 149
Memory Execution Cluster ............................... 151
Bus Cluster................................... 152
CHAPTER 6 Embedded Platform Boot Sequence ..................... 153
Multi-Core and Multi-Processor Boot ............... 153
Boot Technology Considerations ......................154
Hardware Power Sequences (the Pre-Pre-Boot) ............... 156
Reset: The First Few Steps and a Jump ................................. 157
Early Initialization.................................. 159
CPU Initialization ........................... 159
IA Microcode Update ..................... 159
Device Initialization ....................... 161
Memory Configuration ................................. 161
Post-Memory Setup ........................ 162
Shadowing............................................................. 163
AP Processor Initialization........................................ 163
Advanced Initialization ....................... 164
General-Purpose Input/Output......................... 164
Interrupt Controller ......................... 164
Timers ............................................. 165
Cache Control ................................. 165
UART Serial Ports .......................... 166
Debug Output........................................... 166
Configuration Storage ..................... 167
PCIe Bus Initialization .................................... 167
Image Storage ................................. 168
USB ................................................. 168
SATA ............................................... 168
SDIO ............................................... 168
Legacy BIOS and UEFI Framework Software ................................ 169
Legacy Operating System Boot.................... 169
Extensible Firmware Interface .....................173
Cold and Warm Boot .......................... 176
Summary............................................... 177
CHAPTER 7 Operating Systems Overview ............................... 179
Application Interface................................................. 179
OS Application Interface .................................... 179
OS Service Calls ............................. 180
Processes, Tasks, and Threads ...................................... 181
Task Context ................................... 184
Task State and State Transitions .......................... 184
Scheduling ........................................... 186
Simple FIFO Scheduler ............................................ 186
Round-Robin Scheduler with Priority and Preemption .............. 187
Linux Kernel’s Scheduler ......................................... 189
POSIX-Compliant Scheduler ................................ 190
Memory Allocation ............................. 191
Virtual Memory and Protection.............................. 193
Freeing Memory ............................. 195
Swapping Memory................................................ 195
Clocks and Timers........................................... 195
Synchronous Execution ............................................ 195
Asynchronous Execution .......................................... 196
Time of Day .................................... 197
Mutual Exclusion/Synchronization .......................197
Device Driver Models ......................... 202
Low-Level Data Path ...................... 207
Direct Memory Access ............................................. 209
Memory Addresses ......................... 210
Bus Drivers .......................................... 212
Networking .......................................... 213
Buffer Management ........................ 215
Polling Interface ............................. 215
Acceleration .................................... 216
Storage File Systems ........................... 216
Device Wear and Tear .............................................. 218
Power Interactions .......................... 219
Power Management ............................. 219
Real Time ............................................ 221
Device Interrupt Delivery ......................................... 221
Processor Interrupt Handler................................. 222
Deferred Task................................ 222
RTOS Characteristics ..................... 223
Licensing ............................................. 224
CHAPTER 8 Embedded Linux.......... 227
Tool Chain ........................................... 227
Getting the Tools ............................ 228
Tools Overview ............................... 229
Anatomy of an Embedded Linux............................... 231
Building a Kernel ................................ 234
Kernel Build................................. 234
Kernel Options ................................ 236
Root File System Build ...................................... 239
Busybox .......................................... 242
C Library............................................................... 243
Boot Sequence ................................ 244
Debugging ........................................... 246
Debugging Applications ........................................... 246
Kernel Debugging................................................. 247
Driver Development ............................ 249
Character Driver Model ............................................ 250
PCI Device Drivers....................................... 256
Interrupt Handling .......................... 258
Memory Management ......................... 262
User Space ...................................... 262
Access to User Space Memory from the Kernel ........................ 262
Kernel Allocation.................................................. 263
Page Allocation..................................................... 264
The kmalloc() Function....................................... 265
PCI Memory Allocation and Mapping........................................ 265
Synchronization/Locking ..................................... 267
Atomic Operations................................................ 267
Spinlock .......................................... 267
Semaphore ...................................... 268
Summary....................................................... 268
CHAPTER 9 Power Optimization .......................... 269
Power Basics ....................................... 269
The Power Profile of an Embedded Computing
System....................................... 270
Constant Versus Dynamic Power ...............................271
Constant Power ............................... 271
Dynamic Power .............................. 271
A Simple Model of Power Efficiency ......................... 273
Advanced Configuration and Power Interface (ACPI) ................... 275
Idle Versus Sleep ............................ 277
ACPI System States ........................ 277
Global System States (Gx States).............................. 278
Sleep States (Sx States) ............................................ 278
Device Power States (Dx States) ......................... 279
Processor Power States (Cx States) ............................. 280
Processor Performance States (Px States) ................... 280
Enhanced Intel SpeedStep Technology ....................... 281
Optimizing Software for Power Performance ...................... 281
Race to Sleep .................................. 281
The Linux PowerTOP Tool .................... 282
Basic PowerTOP Usage........................................ 282
Using PowerTOP to Evaluate Software and Systems ................ 284
Summary........................................... 289
CHAPTER 10 Embedded Graphics and Multimedia Acceleration .......... 291
Screen Display .................................. 293
Display Engine ............................. 293
Window Management ................................... 296
Screen Composition ..................... 296
Embedded Pannels............................ 297
Display Query and Timing ................................. 299
Copy Protection....................................... 299
Graphics Stack .................................. 299
Accelerated Media Decode ................................... 301
Lip Syncing .................................. 303
Video Capture and Encoding .................................... 304
Video Capture .............................. 304
Media Frameworks ........................... 310
GStreamer .................................... 310
OpenMAX  ................................. 313
Framework Summary......................................... 315
Summary ........................................... 315
CHAPTER 11 Digital Signal Processing Using General-Purpose Processors ... 317
Overview ........................................... 318
Signals .......................................... 318
DSP Building Blocks ............................................. 319
Data Acquisition .......................... 321
Fixed-Point and Floating-Point Implementations .................... 322
Single Instruction Multiple Data ...........................324
SIMD Microarchitecture and Instructions ................................ 324
Operating System ......................... 324
Microarchitecture Considerations .............................. 325
Implementation Options ............................................. 325
Intrinsics and Data Types ........................................... 326
Vectorization ..................................... 328
Performance Primitives .............................................. 331
Finite Impulse Response Filter..................................... 332
FIR Example: C Code........................................ 333
FIR Example: Intel Performance Primitives ............................ 333
FIR Example: Intel SSE ........................................ 334
Application Examples ...................... 337
Codec.......................................................... 337
Medical Ultrasound Imaging .........................................339
Performance Results ............................................. 344
Summary ......................................... 346
CHAPTER 12 Network Connectivity ........................ 347
Networking Basics.................................... 349
Layering and Network Software........................... 349
Node Operation and Network Hardware .................................. 350
Sockets and a Simple Example ...................... 351
TCP/IP Networking .......................... 353
Governance, the IETF, and RFCs ................................. 354
Addresses, Packets, and Routes ................... 355
Port Numbers, Byte Ordering, and OS
Tools................................................. 359
Supporting Protocols and Services ..................... 360
Ethernet ............................................. 361
History .......................................... 361
Protocol Description .............................................. 362
Ethernet MAC Addresses ...................................... 363
Ethernet Packet Format...................................... 363
A Gigabit Ethernet Controller and Its Features ....................... 364
Wi-Fi and IEEE 802.11 .............................................. 365
History .......................................... 366
Protocol Description .............................................. 366
Frame Format ............................... 367
A Wi-Fi Adapter and Its Features...................................368
Bluetooth....................................... 369
History .......................................... 369
Protocol Details ............................ 369
Packet Format .............................. 370
Linux Networking................................................... 372
Tools and Monitor and Control Network Interfaces and Sockets ............. 372
Programming Sockets in C .................. 372
Linux Kernel Networking Structures ....................... 376
Summary ........................................... 378
CHAPTER 13 Application Frameworks ........................... 379
Overview ........................................... 379
Android ............................................. 379
Android Framework Architecture....................... 381
Android Application Architecture ......................... 384
Android Development Environment ............................... 389
Deployment .................................. 391
Qt ...................................................... 392
Qt Application Development Framework .................... 392
Qt Creator........................................................... 394
Other Environments .......................... 394
More Resources ................................ 395
Summary ........................................... 395
CHAPTER 14 Platform and Content Security .......................... 397
Security Principles ............................ 398
Confidentiality, Integrity, and Availability (CIA).................. 400
Security Concepts and Building Blocks .............. 402
Encryption and Cryptography................................. 402
Secure Web Communications: TLS ....................... 404
Secure Shell (SSH) ...................... 407
Security Architecture for IP: IPSec .............................. 408
Two-Factor Authentication .................................. 411
Major Categories of Security Attacks .................... 411
Firewalls ....................................... 416
Servers and Logs .......................... 419
Platform Support for Security ............................ 420
Summary ...................................... 421
CHAPTER 15 Advanced Topics: SMP, AMP, and Virtualization . 423
Multiprocessing Basics ..................... 424
History and Motivation .......................................... 424
A Concrete Example .............................................. 428
Physical versus Logical Cores ............................432
Impact on Systems and Software ..................... 432
Symmetric Multiprocessing.................................... 433
Overview ...................................... 433
Linux SMP Support ..................... 433
Interprocess Communication ............................435
Asymmetric Multiprocessing .............................. 435
Concepts and Motivation ....................................... 436
System Organization ..................................... 436
Virtualization Basics............................. 437
History and Motivation .......................................... 437
Basic Concepts ............................. 437
Methods for Platform Virtualization .......................... 438
Paravirtualization ......................... 438
Hardware Support for Virtualization ..................... 439
Linux VServers ............................ 439
Xen  ............................................. 439
Xenomai ....................................... 440
Summary ........................................ 442
PART 3 DEVELOPING AN EMBEDDED SYSTEM
CHAPTER 16 Example Designs.......................................445
Intel Atom E6XX Series Platforms................................... 445
Architecture Overview ........................................... 446
Platform Controller Hub(s) ............................. 448
Multi-Radio Communications Design .......................... 452
Hardware Platform ....................... 452
Software Platform ........................ 455
Multimedia Design ........................... 458
Hardware Platform ....................... 458
Software Platform ........................ 459
Modular References................................................ 463
Summary ........................................... 464
CHAPTER 17 Platform Debug ................................ 465
Debugging New Platforms ......................................... 465
A Process for Debugging a New Platform ..................... 466
Debug Tools and Chipset Features..................... 467
Oscilloscopes.................................................. 468
Logic Analyzers ........................... 468
Bus Analyzers .............................. 468
Power-On Self-Test (POST) Cards ............................ 468
JTAG Adapters ............................. 469
Debug Process Details ...................... 469
Visual Examination ...................... 469
Hardware Evaluation.......................................... 470
Software Evaluation ..................... 474
Additional Resources.............................................. 474
Summary ........................................... 475
CHAPTER 18 Performance Tuning ......................................... 477
What Are Patterns ................................................. 477
General Approaches ......................... 478
Defined Performance Requirement................................ 478
Performance Design ..................... 478
Premature Code Tuning Avoided ........................ 479
Step-by-Step Records......................................... 479
Slam-Dunk Optimization ....................................... 480
Best Compiler for Application ................. 480
Compiler Optimizations ......................... 481
Data Cache ................................... 482
Code and Design .............................. 483
Reordered Struct .......................... 483
Supersonic Interrupt Service Routines ..................... 483
Assembly-Language-Critical Functions .............................. 484
Inline Functions................................ 484
Cache-Optimizing Loop............................. 484
Minimizing Local Variables .............485
Explicit Registers ......................... 485
Optimized Hardware Register Use ..................... 485
Avoiding the OS Buffer Pool............................ 486
C Language Optimizations .................................... 486
Disabled Counters/Statistics .................................487
Processor-Specific........................................ 488
Stall Instructions .......................... 488
Profiling Tools .............................. 488
Prefetch Instructions .............................................. 489
Separate DRAM Memory Banks.......................489
Line-Allocation Policy ........................................... 490
Cache Write Policy ...................... 490
Cache-Aligned Data Buffers.................................. 491
On-Chip Memory ......................... 491
Optimized Libraries ..................... 491
Modulo/Divide Avoided..................................... 492
Networking Techniques .............................................. 492
Bottleneck Hunting ...................... 492
Evaluating Traffic Generator and Protocols ......................... 493
Environmental Factors ........................................ 494
References..........497
Index .......................... 503

教学资源推荐
作者: (美)David A. Patterson; John L. Hennessy 著
作者: 袁春风 吴海军 武港山 余子濠 编著
作者: James A.Rehg; Henry W.Kraebber
作者: 冯文旭
参考读物推荐
作者: [英]姚文祥(Joseph Yiu) 著
作者: 汪文祥 邢金璋 著
作者: [美] 沃尔弗拉姆·多纳特(Wolfram Donat) 著