嵌入式系统体系结构 编程与设计

嵌入式系统体系结构 编程与设计
作 者: Raj Kamal
出版社: 清华大学出版社
丛编项: 大学计算机教育国外著名教材系列
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 嵌入式计算机
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《嵌入式系统体系结构 编程与设计》作者简介

内容简介

本书是关于嵌入式系统开发与设计的一部最新力作,介绍了嵌入式系统的硬件、操作系统、开发过程以及编程。全书系统地阐述了嵌入式系统的基本概念、处理器处存储器、设备与总线、设备驱动与中断服务,基本的C与C++、编程模型、软件工程的思想、进程间通信与同步、实时操作系统以及软硬件协同设计。附录中包含了CISC与RISC指令集特征,并详细阐述了几种高性能的嵌入式处理器、微控制器、数字信号处理器以及总线和设备。本书提供了大量案例,这对读者的实践开发具有非常好的指导意义。 本书适合于嵌入式系统的软硬件开发人员,以及接受嵌入式系统课程教育的本科生和研究生。

图书目录

Acknowledgements

1. Introduction to Embedded Systems

1.1 An Embedded System 3

1.2 Processor in the System 7

1.3 Other Hardware Units 15

!.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 Keywords and their Definitions 44

Review Questions 47

Practice Exercises 48

2. Processor and Memory Organisation

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

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

4.1 Device Drivers 130

4.2 Parallel Port Device Dri,~ers 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 1.50

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++

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

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 22 7

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

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

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

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

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 MobileOS 370

Summav 3 70

List of Keywords and their Definitions 3 71

Review Questions 372

Practice Exercises 3 73

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

10.1 Need of a Well Tested and Debugged Real-Time

Operating System (RTOS) 375

10.2 Use of uaC/OS-II 376

10.3 Use of VxWorks 424

Summav 446

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

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

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

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

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 5 73

Appendix D. Embedded Digital Signal Processors

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

E.1 Media Processors for Embedded Systems 587

List of Keywords and their Definitions 590

Appendix F. Serial and Parallel Buses

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

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 in 68HC11 609

List of Keywords and their Definitions 610

Appendix H. Important Topics in Embedded Systems Architecture,

Programming and Design

H.1 Suggested Syllabus Units 611

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

References

Index