嵌入式系統:體系結構、編程與設計(第2版)

嵌入式系統:體系結構、編程與設計(第2版)

《嵌入式系統:體系結構、編程與設計(第2版)》是一本Raj Kamal 編寫,由清華大學出版社在2009年出版的書籍。

圖書簡介

本書是關於嵌入式系統開發與設計的一部最新力作,介紹了嵌入式系統的硬體、作業系統、開發過程以及編程。全書系統地闡述了嵌入式系統的基本概念、處理器和存儲器、設備與匯流排、設備驅動與中斷服務、基本的C與C++、編程模型、軟體工程的思想、進程間通信與同步、實時作業系統以及軟硬體協同設計。附錄中包含了CISC與RISC指令集特徵,並詳細闡述了幾種高性能的嵌入式處理器、微控制器、數位訊號處理器以及匯流排和設備。本書提供了大量案例,這對讀者的實踐開發具有非常好的指導意義。
本書適合於嵌入式系統的軟硬體開發人員,以及接受嵌入式系統課程教育的本科生和研究生。

圖書前言

About the Author
Raj Kamal did his . at the age of 17, published his first research paper in a UK journal at the age of 18, wrote his first
program in FORTRAN that ran at ICT 1904, also at the age of 18 and completed his Ph.D. from the indian institute of
Technology, Delhi, at 22. He has 40 years of experience in research and teaching. He has so far successfully guided nine
research students and has published about 90 research papers in journals and conferences of both international and national
repute. Due to his constant drive for understanding emerging technologies and passion for acquiring the latest knowledge
and its dissemination, he is lovingly referred by a few colleagues as the 'learning machine' and by a few others as a
'human dynamo' ! He has authored ten textbooks (for students of Computers, Electronics, and
Communication and information Technology, which includes books on Embedded Systems, Computer Architecture (a
Schaum Series adaptation) and internet and Web technologies, published from McGraw--Hill india, McGraw--Hill China,
McGraw--Hill South Korea, McGraw--Hill Singapore, and McGraw--Hill USA. He has been associated for several years
with Pun jab University, Pun jab; Kalasalingam University, Tamilnadu; and Guru Nanak Engineering College, Andhra
Pradesh. Currently, he is a Senior Professor in School of Computer Sciences and Electronics, Devi Ahilya Viswavidyalaya,
Indore.

Preface to the Second Edition
Embedded system design needs hardware and software professionals as a team. Explaining both hardware and software
concepts while keeping multidisciplinary undergraduates in mind in a single book is a difficult task. It appears that the
earlier edition met this task successfully, considering the positive response it has received in india as well as internationally.
A rough estimate is that 80000 engineering and professional tfaining students became the first--time readers of this book in
India alone. The book originally published in india has now McGraw--Hill translations published in China and South
Korea, an international Students Edition and McGraw--Hill USA editions published from Singapore and New YOrk.
After the publication of the earlier edition, there have been two developments: (l) numerous technology advancements
occurred at a fast pace, and (2) many universities introduced syllabi on an Embedded Systems course at the Bachelors of
Technology level in multiple engineering disciplines, for example, Computer Science and Engineering, Information
Technology, Electronics and Communication, and instrumentation and control engineering.
The new edition has been written to take the above--mentioned developments into account, besides providing a simpler
presentation, keeping the multidisciplinary undergraduates in mind.
The new edition includes several new topics, the important ones being 'Design Process in Embedded Systems',
'Formalism of System Design', 'Wireless Communication Devices', 'Internet Enabled Systems', Wireless and Mobile
System Protocols', and 'Windows CE and RTLinux RTOSes'.
The reader will find application of software engineering practices and UML modeling in all case studies and also three
additional case studies (Digital Camera, Robot Orchestra and Mobile Phone SMS Creating and Sending).
Further, since the publication of the earlier edition I have been interacting with a number of teachers and students, and
receiving feedback from them almost at regular intervals. The chapters of the new edition have also been reviewed by a
few young, forthright and dedicated engineering college teachers. It is hoped that this edition takes care of most of their
valuable suggestions and criticisms.
This book caters to young minds, who constantly crave for knowledge and would also be a useful reference for
professionals, who are required to learn latest topics. The following are new to this edition.
1. Design process in embedded systems and formalism of system design (Chapter I )
2. 8051 basics, real--world interfacing and introduction to advanced architectures (Chapter 2)
3. Additional topics for port interfacing, for example, touch screen interfacing, an inclusion of SDIO, wireless
communication devices, internet enabled systems, wireless and mobile system protocols (Chapter 3)
4. Examples of software intermpts and interrupt service routines, and interrupt service threads as second--level
intemipt handlers (Chapter 4)
5. Timer and event functions, basic design using a real--time operating system (Chapter 8, Chapter 9 of the earlier
edition)
6. Host-- and target--based, and self--host based development approaches, and types of RTOSes (Chapter 9, Chapter ic
of the earlier edition)
7. TWo new RTOSes--Windows CE and RTLinux (Chapter 10, a new chapter)
8. Use of software engineering and UML modeling practices in seven case studies, and three more case
studiesDigital Camera, Robot Orchestra and Mobile Phone SMS Creating and Sending (Chapter I 1 and Chapter 12)
9. Select bibliography at the end of the book, (a highlight of the previous edition) has been more enriched.
I would encourage every reader to login at the book's website for accessing the entire information. The new edition has
a number of enhancements in the web supplement accompanying this book. A chapter titled 'Software Engineering
Practices in the Embedded Software Development Process' in the earlier edition is included in the web supplement at

A student can hone his/her problem--solving and system design skills using modeling practices and learn more key
concepts in embedded hardware architecture, interfaces, buses, software programming design and RTOSes from the new
edition.

D Preface to the Second Edition
This book is expected to find even more favour internationally than the first edition. It would be helpful to
. Undergraduate and post--graduate engineering students of computer science, information technology, electronics
and communication, instrumentation and control
. Software professional trainers, and
. Embedded system design professionals.
Salient Features
. Thorough explanation of embedded hardware architecture, interfacing techniques, buses and protocols, hardware
and software interrupts, embedded software programming, modeling, inter--process synchronization and real--time
operating systems
. Comprehensive explanation with examples for learning the widely used RTOSes--UCOS--II, VxWOrks, Windows
CE, OSEK and RTLinux
. Insight into the fundamental aspects that form the basis of hardware and software designing of Embedded Systems
. Explains modeling of programs and software engineering practices for system design using case studies of systems
for automatic chocolate vending machine, digital camera, TCP/IP stack creation, robot orchestra, automatic cruise
contfol, smug card and mobile phone
. Incorporates pedagogical features such as a large number of examples, sample codes and demonstrates how to use
design and program a system. Also includes chapter--end glossary of terms, review questions and practice exercises
. Detailed selected bibliography of books, journal references and impoftant web links at the end of the book to
facilitate building a startup library for further studies in embedded systems
There is an accompanying web supplement at that is periodically updated and
includes
. Solution guide to review questions and practice exercises
. Write--up on 'Software Engineering for Embedded Systems Design'
. Additional details of seven case studies described in the book
. Multiple--choice questions (with answers) for each chapter to test the understanding of concepts and their solutions
. Powerpoint slides for each chapter to supplement lecture presentations
Although much care has been taken to ensure an error--free text, yet a few mistakes may have crept in--I shall be
grateful if they are pointed out. The feedback on the content of the book as well as online PPTs and web supplement
material at the McGraw--Hill site from readers will be highly appreciated through 'Query' or 'Contact me' links at my
website (

Acknowledgements
I am immensely grateful to my teachers at the indian institute of Technology, Delhi (1966--72), and the University of
UPpsala, Sweden (1978--79, 1984), for teaching me the importance of self--learning and the essence of keeping up with
emerging technology. I would like to thank Prof. MS Sodha, FNA, for his suppoft and blessings throughout my academic
life. I acknowledge my indore colleagues--Dr PC Sharma, Dr PK Chande, Dr Sanjeev TOkekar, Mrs Vrinda TOkekar, Dr AK
Ramal, Dr Maya ingle, Dr San jay Tanwani, Ms Preen Saxena, Ms Shraddha Masih, Ms AParna DeV, and Ms Vasanti G
Parulkax and other university acadendcians, Dr PS Grover (Delhi), Dr Harvinder Singh Saint (Hyderabad), Dr S RadhAnshnan
(Srivilliputtur), Dr TV Gopal (Anna University) and Dr KM Mehata (Anna University)--for their constant encouragement
and aPPreciation of my effofts. I am thankful to the editorial team at McGraw--Hill Education india for their reviews and
suggestions. I acknowledge my late colleague Dr MK Sahu, Head, Computer Centfe of the University, who will bass seeing
this new edition as he passed away during the last phase of the Prepaxation of this book.
I would also like to thank all those reviewers who took out time to go through the script and give me their feedback.
Their names are listed below.
S Ramanaryan Reddy P Kabisatpathy
Dept. of Computer Science and Engineering, Dept. of Electronics and instrumentation Engineering,
Indira Gandhi institute of Technology, New Delhi College of Engineering and Technology, Bhubaneswar
KK Mohapatra
Nilima Fulmare
Hindustan COllege of Science and Technology, Agra Dept. of Electronics,
National institute of Technology, Rourkela
Nikhil Kothari JK Melldiratta
Dept. Of Electronics and Communication Engineering' Dept. of Electronics and Communication and Engineering,
Dharam Sinh Desai institute of Technology, Gujarat R. V College of Engineering, Bangalore
Supriya Kelkar Lyla B Das
Cummins institute Of Engineering and Technology, Dept. of Electronics Engineering,
Pune University National institute of Technology, Calicut
Santa Kumari
Jhimli Adhikari
DePL of Electronics and Communication and Engineering,::S: r:ft:::::::;t,:::afnoa::t::l:a non Eng in e e ring,
Calcutta institute ofEngineering andManagement, Kolkata 1'
V Murlidharan
Dipankar Ghosh Dept. of Computer Science and Engineering,
Dept. of Electronics and Communication Engineering MS Ramaiah institute of Technology, Bangalore
Bengal institute of Technology, Kolkata
Josephine P Kumar
Debashish De Dept. Of COInputer Science and Engineering,
Dept. Of Electronics and Communication Engineering, MVJ College Of Engineering, Bangalore
Meghnad Saha institute Of Technology, Kolkata Stanley Johnson
Invensys india Pvt. Ltd., Chennai
Finally, I acknowledge my wife, Sushil Mittal, and my family members--Shalin Mittal, Needhi Mittal, Dr Atul
Kondaskar, Dr Shilpi Kondaskar, and Ms Arushi Kondaskar--for their immense love, understanding, and support during
the writing of this revised edition.

圖書目錄

Preface to the Second Edition v
1. Introduction to Embedded Systems 1
l.l Embedded Systems 3
l.2 Processor Embedded into a System 5
l.3 Embedded Hardware Units and Devices in a System 10
l.4 Embedded Software in a System ig
l.5 Examples of Embedded Systems 27
l .6 Embedded System--on--chip (Soc) and Use of VLSI Circuit Design Technology 29
l.7 Complex Systems Design and Processors 32
l.8 Design Process in Embedded System 37
l.9 Formalization of System Design 42
l.10 Design Process and Design Examples 43
l.ll Classification of Embedded Systems 52
1. 12 Skills Required for an Embedded System Designer 53
2. 8051 and Advanced Processor Architectures, Memory Organization alld
Real-world lllterfacing 61
2.1 8051 Architecture 62
2.2 Real WOrld interfacing 72
2.3 Introduction to Advanced Architectures 84
2.4 Processor and Memory Organization 96
2.5 Instttiction--Level Parallelism i04
2.6 Performance Metrics i06
2.7 Memory--Types, Memory--Maps and Addresses 106
2.8 Processor Selection 113
2.9 Memory Selection 118
3. Devices and Commullicatioll Buses for Devices Network 128
3.1 IO Types and Examples 130
3.2 Serial Communication Devices 134
3.3 Parallel Device Ports 143
3.4 Sophisticated interfacing Features in Device Ports 150
3.5 Wireless Devices 151
3.6 Timer and Counting Devices i52
3.7 Watchdog Timer i57
3.8 Real Time Clock i58
3.9 Networked Embedded Systems 159
3.10 Serial Bus Communication Protocols 160
3.if Parallel Bus Device Protocols--Parallel Communication
Network Using ISA, PCI, PCI--X and Advanced Buses 166
3.12 Internet Enabled Systems--NetWork Protocols 170
3.13 Wireless and Mobile System Protocols 175
4. Device Drivers and interrupts Service Mechanism 187
4.1 Programmed--I/O Busy--wait APproach without interrupt Service Mechanism 189

D Contents
4.2 ISR Concept i92
4.3 Interrupt Sources 200
4.4 Interrupt Servicing (Handling) Mechanism 203
4.5 Multiple interrupts 209
4.6 Context and the Periods for Context Switching, Intemipt Latency and Deadline 211
4.7 Classification of Processors interrupt Service Mechanism from
Context--Saving Angle 2i7
4.8 Direct Memory Access 218
4.9 Device Driver Programming 220
5. Programming Concepts alld Embedded Programming in C, C++ and Java 234
5.1 Software Programming in Assembly Language (ALP) and in High--Level
Language 'C' 235
5.2 C Program Elements: Header and Source Files and Preprocessor Directives 237
5.3 Program Elements' Macros and Functions 239
5.4 Program Elements: Data Types, Data Stfuctures, Modifiers, Statements,
Loops and Pointers 24)
5.5 Object--Oriented Programming 262
5.6 Embedded Programming in C++ 263
5.7 Embedded Programming in Java 264
6. Program Modeling Concepts 273
6.1 Program Models 274
6.2 DFG Models 277
6.3 State Machine Programming Models for Event--controlled Program Flow 282
6.4 Modeling of Multiprocessor Systems 288
6.5 UML Modelling 295
7. Interprocess Communication and Synchronization of Processes, Threads alld Tasks 303
7.1 Multiple Processes in an Application 305
7.2 Multiple Threads in an APplication 306
7.3 Tasks 308
7.4 Task States 308
7.5 Task and Data 310
7.6 Clear--cut Distinction between Functions, ISRS and Tasks by their Characteristics 311
7.7 Concept of Semaphores 3i4
7.8 Shared Data 326
7.9 Interprocess Communication 330
7.10 Signal Function 332
7.if Semaphore Functions 334
7.12 Message Queue Functions 335
7.13 Mailbox Functions 337
7.14 Pipe Functions 339
7.15 Socket Functions 341
7.16 RPC Functions 345
8. Real-Time Operating Systems 350
8.1 OS Services 351
8.2 Process Management 355
8.3 Timer Functions 356
8.4 Event Functions 358
8.5 Memory Management 359

Contents n
M
8.6 Device, File and tO Subsystems Management 36)
8.7 Interrupt Routines in RTOS Environment and Handling of intemipt Source Calls 366
8.8 Real--time Operating Systems 370
8.9 Basic Design Using an RTOS 372
8. 10 Rtos Task Scheduling Models, Interrupt Latency and Response of the Tasks as
Performance Metrics 385
8.1 1 OS Security Issues 40)
9. Real-time Operating System Programming-I: Microc/OS-II and VxWOrks 406
9.1 Basic Functions and Types of RTOSES 408
9.2 RTOS mCOS--II 4i0
9.3 RTOS VxWorks 453
10. Real-time Operating System Programmillg-n: Willdows CE, OSEK alld Real-time
Linux Functions 477
10.1 Windows CE 478
10.2 OSEK 494
10.3 Linux 2.6.x and RTLinux 496
11. Design Examples and Case Studies of Program Modeling and Programming
with RTOS-1 511
l I .l Case Study of Embedded System Design and Coding for an Automatic 5i2
Chocolate Vending Machine (ACVM) Using Mucos RTOS
11.2 Case Study of Digital Camera Hardware and SofWare Architecture 531
l I .3 Case Study of Coding for Sending Application Layer Byte Streams on a
TCP/IP Network Using RTOS Vxworks 537
12. Design Examples and Case Studies of Program Modelillg and Programming with
RTOS-2 566
12.1 Case Study of Communication Between Orchestfa Robots 567
12.2 Embedded Systems in Automobile 574
12.3 Case Study of an Embedded System for an Adaptive Cruise Control (ACC)
System in a Car 577
12.4 Case Study of an Embedded System for a Smart Card 593
12.5 Case Study of a Mobile Phone Software for Key inputs 604
13. Embedded Software Development Process and TOols 618
l 3.1 Introduction to Embedded Software Development Process and TOols 620
13.2 Host and Target Machines 623
13.3 Linking and Locating Software 626
13.4 Getting Embedded Software into the Target System 630
13.5 Issues in Hardware--Software Design and Co--design 634
14. Testing, Simulatioll alld Debugging Techniques and TOols 648
14. I Testing on Host Machine 649
14.2 Simulators 650
14.3 Laboratory TOols 653
APPendix i: Roadmapfor Various Course Studies 662
APPendix 2.. Select Bibliography 663

相關詞條

熱門詞條

聯絡我們