标题：嵌入式系统：体系结构、编程与设计（第2版）
图书信息
作者：Raj Kamal 作者:Raj Kamal图书详细信息：ISBN：9787302197942定价：66元印次：1-1装帧：平装印刷日期：2009-4-20
图书简介
本书是关于嵌入式系统开发与设计的一部最新力作，介绍了嵌入式系统的硬件、操作系统、开发过程以及编程。全书系统地阐述了嵌入式系统的基本概念、处理器和存储器、设备与总线、设备驱动与中断服务、基本的C与C++、编程模型、软件工程的思想、进程间通信与同步、实时操作系统以及软硬件协同设计。附录中包含了CISC与RISC指令集特征，并详细阐述了几种高性能的嵌入式处理器、微控制器、数字信号处理器以及总线和设备。本书提供了大量案例，这对读者的实践开发具有非常好的指导意义。本书适合于嵌入式系统的软硬件开发人员，以及接受嵌入式系统课程教育的本科生和研究生。 
图书前言
About the AuthorRaj Kamal did his . at the age of 17, published his first research paper in a UK journal at the age of 18, wrote his firstprogram in FORTRAN that ran at ICT 1904, also at the age of 18 and completed his Ph.D. from the indian institute ofTechnology, Delhi, at 22. He has 40 years of experience in research and teaching. He has so far successfully guided nineresearch students and has published about 90 research papers in journals and conferences of both international and nationalrepute. Due to his constant drive for understanding emerging technologies and passion for acquiring the latest knowledgeand 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, andCommunication and information Technology, which includes books on Embedded Systems, Computer Architecture (aSchaum 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 yearswith Pun jab University, Pun jab; Kalasalingam University, Tamilnadu; and Guru Nanak Engineering College, AndhraPradesh. Currently, he is a Senior Professor in School of Computer Sciences and Electronics, Devi Ahilya Viswavidyalaya,Indore.
Preface to the Second EditionEmbedded system design needs hardware and software professionals as a team. Explaining both hardware and softwareconcepts while keeping multidisciplinary undergraduates in mind in a single book is a difficult task. It appears that theearlier 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 inIndia alone. The book originally published in india has now McGraw--Hill translations published in China and SouthKorea, 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 advancementsoccurred at a fast pace, and (2) many universities introduced syllabi on an Embedded Systems course at the Bachelors ofTechnology level in multiple engineering disciplines, for example, Computer Science and Engineering, InformationTechnology, 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 simplerpresentation, 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 MobileSystem 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 threeadditional 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, andreceiving feedback from them almost at regular intervals. The chapters of the new edition have also been reviewed by afew young, forthright and dedicated engineering college teachers. It is hoped that this edition takes care of most of theirvaluable suggestions and criticisms.This book caters to young minds, who constantly crave for knowledge and would also be a useful reference forprofessionals, 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, wirelesscommunication 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--levelintemipt handlers (Chapter 4)5. Timer and event functions, basic design using a real--time operating system (Chapter 8, Chapter 9 of the earlieredition)6. Host-- and target--based, and self--host based development approaches, and types of RTOSes (Chapter 9, Chapter icof 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 hasa number of enhancements in the web supplement accompanying this book. A chapter titled 'Software EngineeringPractices 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 keyconcepts in embedded hardware architecture, interfaces, buses, software programming design and RTOSes from the newedition.
D Preface to the Second EditionThis 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, electronicsand 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, hardwareand software interrupts, embedded software programming, modeling, inter--process synchronization and real--timeoperating systems. Comprehensive explanation with examples for learning the widely used RTOSes--UCOS--II, VxWOrks, WindowsCE, 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 systemsfor automatic chocolate vending machine, digital camera, TCP/IP stack creation, robot orchestra, automatic cruisecontfol, smug card and mobile phone. Incorporates pedagogical features such as a large number of examples, sample codes and demonstrates how to usedesign 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 tofacilitate building a startup library for further studies in embedded systemsThere is an accompanying web supplement at that is periodically updated andincludes. 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 presentationsAlthough much care has been taken to ensure an error--free text, yet a few mistakes may have crept in--I shall begrateful if they are pointed out. The feedback on the content of the book as well as online PPTs and web supplementmaterial at the McGraw--Hill site from readers will be highly appreciated through 'Query' or 'Contact me' links at mywebsite (
AcknowledgementsI am immensely grateful to my teachers at the indian institute of Technology, Delhi (1966--72), and the University ofUPpsala, Sweden (1978--79, 1984), for teaching me the importance of self--learning and the essence of keeping up withemerging technology. I would like to thank Prof. MS Sodha, FNA, for his suppoft and blessings throughout my academiclife. I acknowledge my indore colleagues--Dr PC Sharma, Dr PK Chande, Dr Sanjeev TOkekar, Mrs Vrinda TOkekar, Dr AKRamal, Dr Maya ingle, Dr San jay Tanwani, Ms Preen Saxena, Ms Shraddha Masih, Ms AParna DeV, and Ms Vasanti GParulkax 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 encouragementand aPPreciation of my effofts. I am thankful to the editorial team at McGraw--Hill Education india for their reviews andsuggestions. I acknowledge my late colleague Dr MK Sahu, Head, Computer Centfe of the University, who will bass seeingthis 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 KabisatpathyDept. of Computer Science and Engineering, Dept. of Electronics and instrumentation Engineering,Indira Gandhi institute of Technology, New Delhi College of Engineering and Technology, BhubaneswarKK MohapatraNilima FulmareHindustan COllege of Science and Technology, Agra Dept. of Electronics,National institute of Technology, RourkelaNikhil Kothari JK MelldirattaDept. Of Electronics and Communication Engineering' Dept. of Electronics and Communication and Engineering,Dharam Sinh Desai institute of Technology, Gujarat R. V College of Engineering, BangaloreSupriya Kelkar Lyla B DasCummins institute Of Engineering and Technology, Dept. of Electronics Engineering,Pune University National institute of Technology, CalicutSanta KumariJhimli AdhikariDePL 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 MurlidharanDipankar Ghosh Dept. of Computer Science and Engineering,Dept. of Electronics and Communication Engineering MS Ramaiah institute of Technology, BangaloreBengal institute of Technology, KolkataJosephine P KumarDebashish De Dept. Of COInputer Science and Engineering,Dept. Of Electronics and Communication Engineering, MVJ College Of Engineering, BangaloreMeghnad Saha institute Of Technology, Kolkata Stanley JohnsonInvensys india Pvt. Ltd., ChennaiFinally, I acknowledge my wife, Sushil Mittal, and my family members--Shalin Mittal, Needhi Mittal, Dr AtulKondaskar, Dr Shilpi Kondaskar, and Ms Arushi Kondaskar--for their immense love, understanding, and support duringthe writing of this revised edition.
图书目录
Preface to the Second Edition v1. Introduction to Embedded Systems 1l.l Embedded Systems 3l.2 Processor Embedded into a System 5l.3 Embedded Hardware Units and Devices in a System 10l.4 Embedded Software in a System igl.5 Examples of Embedded Systems 27l .6 Embedded System--on--chip (Soc) and Use of VLSI Circuit Design Technology 29l.7 Complex Systems Design and Processors 32l.8 Design Process in Embedded System 37l.9 Formalization of System Design 42l.10 Design Process and Design Examples 43l.ll Classification of Embedded Systems 521. 12 Skills Required for an Embedded System Designer 532. 8051 and Advanced Processor Architectures, Memory Organization alldReal-world lllterfacing 612.1 8051 Architecture 622.2 Real WOrld interfacing 722.3 Introduction to Advanced Architectures 842.4 Processor and Memory Organization 962.5 Instttiction--Level Parallelism i042.6 Performance Metrics i062.7 Memory--Types, Memory--Maps and Addresses 1062.8 Processor Selection 1132.9 Memory Selection 1183. Devices and Commullicatioll Buses for Devices Network 1283.1 IO Types and Examples 1303.2 Serial Communication Devices 1343.3 Parallel Device Ports 1433.4 Sophisticated interfacing Features in Device Ports 1503.5 Wireless Devices 1513.6 Timer and Counting Devices i523.7 Watchdog Timer i573.8 Real Time Clock i583.9 Networked Embedded Systems 1593.10 Serial Bus Communication Protocols 1603.if Parallel Bus Device Protocols--Parallel CommunicationNetwork Using ISA, PCI, PCI--X and Advanced Buses 1663.12 Internet Enabled Systems--NetWork Protocols 1703.13 Wireless and Mobile System Protocols 1754. Device Drivers and interrupts Service Mechanism 1874.1 Programmed--I/O Busy--wait APproach without interrupt Service Mechanism 189
D Contents4.2 ISR Concept i924.3 Interrupt Sources 2004.4 Interrupt Servicing (Handling) Mechanism 2034.5 Multiple interrupts 2094.6 Context and the Periods for Context Switching, Intemipt Latency and Deadline 2114.7 Classification of Processors interrupt Service Mechanism fromContext--Saving Angle 2i74.8 Direct Memory Access 2184.9 Device Driver Programming 2205. Programming Concepts alld Embedded Programming in C, C++ and Java 2345.1 Software Programming in Assembly Language (ALP) and in High--LevelLanguage 'C' 2355.2 C Program Elements: Header and Source Files and Preprocessor Directives 2375.3 Program Elements' Macros and Functions 2395.4 Program Elements: Data Types, Data Stfuctures, Modifiers, Statements,Loops and Pointers 24)5.5 Object--Oriented Programming 2625.6 Embedded Programming in C++ 2635.7 Embedded Programming in Java 2646. Program Modeling Concepts 2736.1 Program Models 2746.2 DFG Models 2776.3 State Machine Programming Models for Event--controlled Program Flow 2826.4 Modeling of Multiprocessor Systems 2886.5 UML Modelling 2957. Interprocess Communication and Synchronization of Processes, Threads alld Tasks 3037.1 Multiple Processes in an Application 3057.2 Multiple Threads in an APplication 3067.3 Tasks 3087.4 Task States 3087.5 Task and Data 3107.6 Clear--cut Distinction between Functions, ISRS and Tasks by their Characteristics 3117.7 Concept of Semaphores 3i47.8 Shared Data 3267.9 Interprocess Communication 3307.10 Signal Function 3327.if Semaphore Functions 3347.12 Message Queue Functions 3357.13 Mailbox Functions 3377.14 Pipe Functions 3397.15 Socket Functions 3417.16 RPC Functions 3458. Real-Time Operating Systems 3508.1 OS Services 3518.2 Process Management 3558.3 Timer Functions 3568.4 Event Functions 3588.5 Memory Management 359
Contents nM8.6 Device, File and tO Subsystems Management 36)8.7 Interrupt Routines in RTOS Environment and Handling of intemipt Source Calls 3668.8 Real--time Operating Systems 3708.9 Basic Design Using an RTOS 3728. 10 Rtos Task Scheduling Models, Interrupt Latency and Response of the Tasks asPerformance Metrics 3858.1 1 OS Security Issues 40)9. Real-time Operating System Programming-I: Microc/OS-II and VxWOrks 4069.1 Basic Functions and Types of RTOSES 4089.2 RTOS mCOS--II 4i09.3 RTOS VxWorks 45310. Real-time Operating System Programmillg-n: Willdows CE, OSEK alld Real-timeLinux Functions 47710.1 Windows CE 47810.2 OSEK 49410.3 Linux 2.6.x and RTLinux 49611. Design Examples and Case Studies of Program Modeling and Programmingwith RTOS-1 511l I .l Case Study of Embedded System Design and Coding for an Automatic 5i2Chocolate Vending Machine (ACVM) Using Mucos RTOS11.2 Case Study of Digital Camera Hardware and SofWare Architecture 531l I .3 Case Study of Coding for Sending Application Layer Byte Streams on aTCP/IP Network Using RTOS Vxworks 53712. Design Examples and Case Studies of Program Modelillg and Programming withRTOS-2 56612.1 Case Study of Communication Between Orchestfa Robots 56712.2 Embedded Systems in Automobile 57412.3 Case Study of an Embedded System for an Adaptive Cruise Control (ACC)System in a Car 57712.4 Case Study of an Embedded System for a Smart Card 59312.5 Case Study of a Mobile Phone Software for Key inputs 60413. Embedded Software Development Process and TOols 618l 3.1 Introduction to Embedded Software Development Process and TOols 62013.2 Host and Target Machines 62313.3 Linking and Locating Software 62613.4 Getting Embedded Software into the Target System 63013.5 Issues in Hardware--Software Design and Co--design 63414. Testing, Simulatioll alld Debugging Techniques and TOols 64814. I Testing on Host Machine 64914.2 Simulators 65014.3 Laboratory TOols 653APPendix i: Roadmapfor Various Course Studies 662APPendix 2.. Select Bibliography 663
[1]