《嵌入式系统 体系结构、编程与设计 Embedded Systems Architecture,Programming and Design》PDF下载

  • 购买积分:18 如何计算积分?
  • 作  者:Raj Kamal著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2005
  • ISBN:730210297X
  • 页数:623 页
图书介绍:本书是关于嵌入式系统开发与设计的一部最新力作,介绍了嵌入式系统的硬件、操作系统、开发过程以及编程。全书系统地阐述嵌入式系统的基本概念、处理器和存储器、设备与总线、设备运行与中断服务、基本的C与C++、编程模型、软件工程的思想、进程间通信与同步、实时操作系统以及软硬件协同设计。附录中包含了CISC与RISC指令集特征,并详细阐述了几种高性能的嵌入式处理器、微控制器、数字信号处理器以及总线和设备。本书提供了大量案例,这对读者的实践开发具有非常好的指导意义。本书适合于嵌入式系统的软硬件开发人员,以及接受嵌入式系统课程教育的本科生和研究生。

1.Introduction to Embedded Systems 1

1.1 An Embedded System 3

1.2 Processor in the System 7

1.3 Other Hardware Units 15

1.4 Software Embedded into a System 28

1.5 Exemplary Embedded Systems 37

1.6 Embedded System-On-Chip(SOC)and in VLSI Circuit 39

Summary 43

List of Kevwords and their Definitions 44

Review Questions 47

Practice Exercises 48

2.Processor and Memory Organisation 50

2.1 Structural Units in a Processor 51

2.2 Processor Selection for an Embedded System 61

2.3 Memory Devices 65

2.4 Memory Selection for an Embedded System 68

2.5 Allocation of Memory to Program Segments and Blocks and Memory Map of a System 72

2.6 Direct Memory Access 88

2.7 Interfacing Processor,Memories and I/O Devices 89

Summary 91

List of Keywords and their Definitions 92

Review Questions 94

Practice Exercises 95

3.Devices and Buses for Device Networks 97

3.1 I/O Devices 98

3.2 Timer and Counting Devices 109

3.3 Serial Communication Using the 'I2C','CAN'and Advanced I/O Buses between the Networked Multiple Devices 114

3.4 Host System or Computer Parallel Communication between the Networked I/O Multiple Devices Using the ISA,PCI,PCI-X and Advanced Buses 118

Summary 121

List of Keywords and their Definitions 122

Review Questions 125

Practice Exercises 126

4.Device Drivers and Interrupts Servicing Mechanism 128

4.1 Device Drivers 130

4.2 Parallel Port Device Drivers in a System 139

4.3 Serial Port Device Drivers in a System 146

4.4 Device Drivers for Internal Programmable Timing Devices 149

4.5 Interrupt Servicing(Handling)Mechanism 150

4.6 Context and the Periods for Context-Switching,Deadline and Interrupt Latency 156

Summary 163

List of Keywords and their Definitions 164

Review Questions 166

Practice Exercises 166

5.Programming Concepts and Embedded Programming in C and C++ 167

5.1 Software Programming in Assembly Language(ALP)and in High Level Language'C' 168

5.2 'C' Program Elements:Header and Source Files and Preprocessor Directives 170

5.3 Program Elements:Macros and Functions 172

5.4 Program Elements:Data Types,Data Structures,Modifiers,Statements,Loops and Pointers 174

5.5 Queues 185

5.6 Stacks 196

5.7 Lists and Ordered Lists 198

5.8 Embedded Programming in C++ 209

5.9 Embedded Programming in Java 211

5.10 'C' Program Compiler and Cross-Compiler 214

5.11 Source Code Engineering Tools for Embedded C/C++ 215

5.12 Optimisation of Memory Needs 215

Summary 217

List of Keywords and their Definitions 219

Review Questions 221

Practice Exercises 221

6.Program Modeling Concepts in Single and Multiprocessor Systems Software-Development Process 222

6.1 Modeling Processes for Software Analysis Before Software Implementation 223

6.2 Programming Models for Event Controlled or Response Time Constrained Real Time Programs 227

6.3 Modeling of Multiprocessor Systems 238

Summary 254

List of Keywords and their Definitions 255

Review Questions 256

Practice Exercises 257

7.Software Engineering Practices in the Embedded Software Development Process 258

7.1 Software Algorithm Complexity 260

7.2 Software Development Process Life Cycle and its Models 261

7.3 Software Analysis 265

7.4 Software Design 267

7.5 Software Implementation 270

7.6 Software Testing,Validating and Debugging 270

7.7 Real Time Programming Issues During 277

the Software Development Process 277

7.8 Software Project Management 278

7.9 Software Maintenance 282

7.10 Unified Modeling Language(UML) 284

Summary 290

List of Keywords and their Definitions 292

Review Questions 294

Practice Exercises 295

8.Inter-Process Communication and Synchronisation of Processes,Tasks and Threads 297

8.1 Multiple Processes in an Application 298

8.2 Problem of Sharing Data by Multiple Tasks and Routines 303

8.3 Inter Process Communication 314

Summary 323

List of Keywords and their Definitions 324

Review Questions 326

Practice Exercises 326

9.Real Time Operating Systems 327

9.1 Operating System Services 329

9.2 I/O Subsystems 338

9.3 Network Operating Systems 339

9.4 Real-Time and Embedded System Operating Systems 340

9.5 Interrupt Routines in RTOS Environment:Handling of Interrupt Source Call by the RTOSs 347

9.6 RTOS Task Scheduling Models,Interrupt Latency and Response Times of the Tasks as Performance Metrics 349

9.7 Performance Metric in Scheduling Models for Periodic,Sporadic and Aperiodic Tasks 360

9.8 IEEE Standard POSIX 1003.1b Functions for Standardisation of RTOS and Inter_Task Communication Functions 361

9.9 List of Basic Actions in a Preemptive Scheduler and Expected Times Taken at a Processor 363

9.10 Fifteen-Point Strategy for Synchronisation between the Processes,ISRs,OS Functions and Tasks and for Resource Management 364

9.11 Embedded Linux Internals:Linux Kernel for the Device Drivers and Embedded System 366

9.12 OS Security Issues 368

9.13 Mobile OS 370

Summary 370

List of Keywords and their Definitions 371

Review Questions 372

Practice Exercises 373

10.Real Time Operating System Programming Tools:Micro C/OS-Ⅱ and VxWorks 374

10.1 Need of a Well Tested and Debugged Real-Time Operating System(RTOS) 375

10.2 Use of μC/OS-Ⅱ 376

10.3 Use of VxWorks 424

Summary 446

List of Keywords and their Definitions 447

Review Questions 448

Practice Exercises 448

11.Case Studies of Programming with RTOS 450

11.1 Case Study of Coding for an Automatic Chocolate Vending Machine UsingMUCOS RTOS 451

11.2 Case Study of Coding for Sending Application Layer Byte Streams on a TCP/IP Network Using RTOS VxWorks 466

11.3 Case Study of an Embedded System for an Adaptive Cruise Control System in a Car 488

11.4 Case Study of an Embedded System for a Smart Card 502

Summary 514

List of Keywords and their Definitions 515

Review Questions 517

Practice Exercises 517

12.Hardware-Software Co-design in an Embedded System 519

12.1 Embedded System Project Management 521

12.2 Embedded System Design and Co-design Issues in System Development Process 522

12.3 Design Cycle in the Development Phase for an Embedded System 527

12.4 Uses of Target System or its Emulator and In-Circuit Emulator(ICE) 528

12.5 Use of Software Tools for Development of an Embedded System 532

12.6 Use of Scopes and Logic Analysers for System Hardware Tests 540

12.7 Issues in Embedded System Design 542

Summary 548

List of Keywords and their Definitions 550

Review Questions 552

Practice Exercises 553

Appendix A.CISC and RISC Processor Architectures and an Exemplary Instruction Set 555

A.1 Instructions and Their Processing in CISC and RISC Processors 555

A.2 An Exemplary Instruction Set—Arm7 560

A.3 Exemplary Assembly Language Progam for Arm Processors 562

List of Keywords and their Definitions 562

Appendix B.Embedded System High-performance Processors 563

B.1 Exemplary Arm Processors 564

B.2 Exemplary High Performance Processors 567

B.3 Accelerators 567

List of Keywords and their Definitions 568

Appendix C.Embedded System 8/16/32 Bit Microcontrollers and an Overview of their Architecture 569

C.1 Overview of the Architecture of Exemplary Intel,Motorola and PIC Family CISC Based Microcontrollers 569

C.2 Exemplary Motorola Family CISC and RISC Based New Generation Microcontrollers 572

List of Keywords and their Definitions 573

Appendix D.Embedded Digital Signal Processors 575

D.1 Architecture of Digital Signal Processors 575

D.2 DSP Processor Versus Conventional Processors 578

D.3 Fixed Point Arithmetic Versus Floating Point Arithmetic 578

D.4 DSP for Embedded Systems 579

List of Keywords and their Definitions 585

Appendix E.New Innovative Processors for Embedded Systems 587

E.1 Media Processors for Embedded Systems 587

List of Keywords and their Definitions 590

Appendix F.Serial and Parallel Buses 592

F.1 Emerging Serial Bus Standards(USB 2.0,IEEE1394) 592

F.2 Emerging Parallel Bus Standards(Compact PCI,PCI-X) 593

List of Keywords and their Definitions 593

Appendix G.Devices in Embedded Systems 594

G.1 Various Forms of ROM Devices 594

G.2 ROM Device Programmer 595

G.3 RAM Devices 600

G.4 Parallel Ports in Microcontrollers 602

G.5 Serial Communication Devices 602

G.6 Timers in Microcontrollers 605

G.7 Interrupt Sources and their Control in Various Families of Processors 607

G.8 Interrupts in the 80x86 Processors 608

G.9 Interrupts in68HC11 609

List of Keywords and their Definitions 610

Appendix H.Important Topics in Embedded Systems Architecture,Programming and Design 611

H.1 Suggested Syllabus Units 611

H.2 List of Topics that Covers the CDAC Embedded System Course Syllabus 613

References 615

Index 620