Real-Time Concepts For Embedded Systems By Qing Li And .

3y ago
123 Views
10 Downloads
6.13 MB
317 Pages
Last View : 1m ago
Last Download : 3m ago
Upload by : Emanuel Batten
Transcription

This document is created with the unregistered version of CHM2PDF PilotReal-Time Concepts for Embedded Systemsby Qing Li and CarolynISBN:1578201241YaoCMP Books 2003 (294 pages)This book bridges the gap between higher abstractmodeling concepts and the lower-level programmingaspects of embedded systems development. You gain asolid understanding of real-time embedded systems withdetailed examples and industry wisdom.Table of ContentsReal-Time Concepts for Embedded SystemsForewordPrefaceChapt- Introductioner1Chapt- Basics Of Developing For Embedded Systemser2Chapt- Embedded System Initializationer3Chapt- Introduction To Real-Time Operating Systemser4Chapt- Taskser5Chapt- Semaphoreser6Chapt- Message Queueser7Chapt- Other Kernel Objectser8

This document is created with the unregistered version of CHM2PDF PilotChapt- Other RTOS Serviceser9Chapt- Exceptions and Interruptser10Chapt- Timer and Timer Serviceser11Chapt- I/O Subsystemer12Chapt- Memory Managementer13Chapt- Modularizing An Application For Concurrencyer14Chapt- Synchronization And Communicationer15Chapt- Common Design Problemser16Appendi - ReferencesxAIndexList of FiguresList of TablesList of Listings

This document is created with the unregistered version of CHM2PDF PilotBack CoverMaster the fundamental concepts of real-time embedded system programming and jumpstart your embeddedprojects with effective design and implementation practices. This book bridges the gap between higher abstractmodeling concepts and the lower-level programming aspects of embedded systems development. You gain a solidunderstanding of real-time embedded systems with detailed practical examples and industry wisdom on keyconcepts, design processes, and the available tools and methods.Delve into the details of real-time programming so you can develop a working knowledge of the common designpatterns and program structures of real-time operating systems (RTOS). The objects and services that are a part ofmost RTOS kernels are described and real-time system design is explored in detail. You learn how to decomposean application into units and how to combine these units with other objects and services to create standard buildingblocks. A rich set of ready-to-use, embedded design building blocks is also supplied to accelerate yourdevelopment efforts and increase your productivity.Experienced developers new to embedded systems and engineering or computer science students will bothappreciate the careful balance between theory, illustrations, and practical discussions. Hard-won insights andexperiences shed new light on application development, common design problems, and solutions in the embeddedspace. Technical managers active in software design reviews of real-time embedded systems will find this a valuablereference to the design and implementation phases.About the AuthorsQing Li is a senior architect at Wind River Systems, Inc., and the lead architect of the company s embedded IPv6products. Qing holds four patents pending in the embedded kernel and networking protocol design areas. His 12 years in engineering include expertise as a principal engineer designing and developing protocol stacks andembedded applications for the telecommunications and networks arena. Qing was one of a four-member SiliconValley startup that designed and developed proprietary algorithms and applications for embedded biometric devicesin the security industry.Caroline Yao has more than 15 years of high tech experience ranging from development, project and productmanagement, product marketing, business development, and strategic alliances. She is co-inventor of a pendingpatent and recently served as the director of partner solutions for Wind River Systems, Inc.

This document is created with the unregistered version of CHM2PDF PilotReal-Time Concepts forEmbedded SystemsQing Liwith Caroline YaoPublished by CMP Booksan imprint of CMP Media LLCMain office: 600 Harrison Street, San Francisco, CA 94107 USATel: 415-947-6615; fax: 415-947-6015Editorial office: 1601 West 23rd Street, Suite 200, Lawrence, KS 66046 USAwww.cmpbooks.comemail: books@cmp.comDesignations used by companies to distinguish their products are often claimed as trademarks. In all instances whereCMP Books is aware of a trademark claim, the product name appears in initial capital letters, in all capital letters, orin accordance with the vendor's capitalization preference. Readers should contact the appropriate companies formore complete information on trademarks and trademark registrations. All trade marks and registered trademarks inthis book are the property of their respective holders.Copyright 2003 by Wind River Systems, Inc., except where noted otherwise. Published by CMP Books, CMPMedia LLC. All rights reserved. Printed in the United States of America. No part of this publication may bereproduced or distributed in any form or by any means, or stored in a database or retrieval system, without the priorwritten permission of the publisher.The programs in this book are presented for instructional value. The programs have been carefully tested, but are notguaranteed for any particular purpose. The publisher does not offer any warranties and does not guarantee theaccuracy, adequacy, or completeness of any information herein and is not responsible for any errors or omissions.The publisher assumes no liability for damages resulting from the use of the information in this book or for anyinfringement of the intellectual property rights of third parties that would result from the use of this information.Technical editors: Robert Ward and Marc BriandCopyeditor: Catherine JanzenLayout design & production: Madeleine Reardon Dimond and Michelle O'NealManaging editor: Michelle O'NealCover art design: Damien CastanedaDistributed to the book trade in the U.S. by:Distributed in Canada by:

This document is created with the unregistered version of CHM2PDF PilotPublishers Group WestBerkeley, CA 947101-800-788-3123Jaguar Book Group100 Armstrong AvenueGeorgetown, Ontario M6K 3E7 Canada905-877-4483For individual orders and for information on special discounts for quantity orders, please contact:CMP Books Distribution Center, 6600 Silacci Way, Gilroy, CA 95020Tel: 1-800-500-6875 or 408-848-3854; fax: 408-848-5784email: cmp@rushorder.com; Web: www.cmpbooks.comLibrary of Congress Cataloging-in-Publication DataLi, Qing, 1971Real-time concepts for embedded systems / Qing Li ; with Caroline Yao.p. cm.Includes bibliographical references and index.ISBN 1-57820-124-1 (alk. paper)1. Embedded computer systems. 2. Real-time programming. I. Yao, Caroline. II. Title.Tk7895.E42L494 2003004'.33-dc212003008483Printed in the United States of America03 04 05 06 07 5 4 3 2 1To my wife, Huaying, and my daughter, Jane, for their love, understanding, and support.To my parents, Dr. Y. H. and Dr. N. H. Li, and my brother, Dr. Yang Li, for being the exemplification ofacademic excellence.ISBN: 1-57820-124-1About the AuthorsQing Li is currently a senior architect at Wind River systems and has four patents pending in the embedded kerneland networking protocol design areas. His 12 years in engineering include expertise as a principal engineerdesigning and developing protocol stacks and embedded applications for the telecommunications and networksarena. Qing is the lead architect of Wind River's embedded IPv6 products and is at the forefront of various IPv6initiatives. In the past, Qing owned his own company developing commercial software for the telecommunicationsindustry. Additionally, he was one of a four-member Silicon Valley startup that designed and developed proprietaryalgorithms and applications for embedded biometric devices in the security industry.Qing holds a Bachelor of Science degree with Specialization in Computing Science from the University of Alberta inEdmonton, Alberta, Canada. Qing has a Masters of Science degree with Distinction in Computer Engineering, withfocus in Advanced High Performance Computing from Santa Clara University, Santa Clara, CA, USA. Qing is amember of Association for Computing Machinery and a member of IEEE Computer Society.

This document is created with the unregistered version of CHM2PDF PilotCaroline Yao has 15 years in technology and the commercial software arena with six years in the embeddedmarket. She has expertise ranging from product development, product management, product marketing, businessdevelopment, and strategic alliances. She is also a co-inventor and co-US patent pending (June 12, 2001) holder for'System and Method for Providing Cross-Development Application Design Tools and Services Via a Network.'Caroline holds a Bachelor of Arts in Statistics from the University of California Berkeley.

This document is created with the unregistered version of CHM2PDF PilotForewordWe live in a world today in which software plays a critical part. The most critical soft ware is not running on largesystems and PCs. Rather, it runs inside the infrastructure and in the devices that we use every day. Ourtransportation, communications, and energy systems won't work if the embedded software contained in our cars,phones, routers and power plants crashes.The design of this invisible, embedded software is crucial to all of us. Yet, there has been a real shortage of goodinformation as to effective design and implementation practices specific to this very different world. Make no mistake,it is indeed different and often more difficult to design embedded software than more traditional programs. Time, andthe interaction of multiple tasks in real-time, must be managed. Seemingly esoteric concepts, such as priorityinversion, can become concrete in a hurry when they bring a device to its knees. Efficiency-a small memory footprintand the ability to run on lower cost hardware-become key design considerations because they directly affect cost,power usage, size, and battery life. Of course, reliability is paramount when so much is at stake-company andproduct reputations, critical infrastructure functions, and, some times, even lives.Mr. Li has done a marvelous job of pulling together the relevant information. He lays out the issues, the decision anddesign process, and the available tools and methods. The latter part of the book provides valuable insights andpractical experiences in understanding application development, common design problems, and solutions. The bookwill be helpful to anyone embarking on an embedded design project, but will be of par ticular help to engineers whoare experienced in software development but not yet in real-time and embedded software development. It is also awonderful text or reference volume for academic use.The quality of the pervasive, invisible software surrounding us will determine much about the world being createdtoday. This book will have a positive effect on that quality and is a welcome addition to the engineering bookshelf.Jerry FiddlerChairman and Co-Founder, Wind River

This document is created with the unregistered version of CHM2PDF PilotPrefaceEmbedded systems are omnipresent and play significant roles in modern-day life. Embed ded systems are alsodiverse and can be found in consumer electronics, such as digital cameras, DVD players and printers; in industrialrobots; in advanced avionics, such as missile guidance systems and flight control systems; in medical equipment, suchas cardiac arrhythmia monitors and cardiac pacemakers; in automotive designs, such as fuel injection systems andauto-braking systems. Embedded systems have significantly improved the way we live today-and will continue tochange the way we live tomorrow.Programming embedded systems is a special discipline, and demands that embedded sys tems developers haveworking knowledge of a multitude of technology areas. These areas range from low-level hardware devices, compilertechnology, and debugging tech niques, to the inner workings of real-time operating systems and multithreadedapplica tion design. These requirements can be overwhelming to programmers new to the embedded world. Thelearning process can be long and stressful. As such, I felt com pelled to share my knowledge and experiences throughpractical discussions and illustrations in jumpstarting your embedded systems projects.Some books use a more traditional approach, focusing solely on programming low-level drivers and software thatcontrol the underlying hardware devices. Other books provide a high-level abstract approach using object-orientedmethodologies and modeling lan guages. This book, however, concentrates on bridging the gap between thehigher-level abstract modeling concepts and the lower-level fundamental programming aspects of embedded systemsdevelopment. The discussions carried throughout this book are based on years of experience gained from design andimplementation of commercial embedded systems, lessons learnt from previous mistakes, wisdom passed down fromothers, and results obtained from academic research. These elements join together to form useful insights, guidelines,and recommendations that you can actually use in your real-time embedded systems projects.This book provides a solid understanding of real-time embedded systems with detailed practical examples andindustry knowledge on key concepts, design issues, and solu tions. This book supplies a rich set of ready-to-useembedded design building blocks that can accelerate your development efforts and increase your productivity.I hope that Real-Time Concepts for Embedded Systems will become a key reference for you as you embark uponyour development endeavors.If you would like to sign up for e-mail news updates, please send a blank e-mail to:rtconcepts@news.cmpbooks.com. If you have a suggestion, correction, or addition to make to the book, e-mail meat qingli@speakeasy.netAudience for this BookThis book is oriented primarily toward junior to intermediate software developers work ing in the realm ofembedded computing.

This document is created with the unregistered version of CHM2PDF PilotIf you are an experienced developer but new to real-time embedded systems develop ment, you will also find theapproach to design in this book quite useful. If you are a technical manager who is active in software designreviews of real-time systems, you can refer to this book to become better informed regarding the design andimplementation phases. This book can also be used as complementary reference material if you are an engineering orcomputer science student.Before using this book, you should be proficient in at least one programming language and should have someexposure to the software-development process.

This document is created with the unregistered version of CHM2PDF PilotAcknowledgmentsWe would like to thank the team at CMP Books and especially Paul Temme, Michelle O'Neal, Marc Briand,Brandy Ernzen, and Robert Ward.We wish to express our thanks to the reviewers Jerry Krasner, Shin Miyakawa, Jun-ichiro itojun Hagino, and LilianaBritvic for their contributions.We would like to thank Nauman Arshad for his initial participation on this project.We would also like to thank Anne-Marie Eileraas, Salvatore LiRosi, Loren Shade, and numerous other individuals atWind River for their support.Finally, thanks go to our individual families for their love and support, Huaying and Jane Lee, Maya and William Yao.

This document is created with the unregistered version of CHM2PDF PilotChapter 1: IntroductionOverviewIn ways virtually unimaginable just a few decades ago, embedded systems are reshaping the way people live, work,and play. Embedded systems come in an endless variety of types, each exhibiting unique characteristics. Forexample, most vehicles driven today embed intelligent computer chips that perform value-added tasks, which makethe vehicles easier, cleaner, and more fun to drive. Telephone systems rely on multiple integrated hardware andsoftware systems to connect people around the world. Even private homes are being filled with intelligent appliancesand integrated systems built around embedded systems, which facilitate and enhance everyday life.Often referred to as pervasive or ubiquitous computers, embedded systems represent a class of dedicatedcomputer systems designed for specific purposes. Many of these embedded systems are reliable and predictable.The devices that embed them are convenient, user-friendly, and dependable.One special class of embedded systems is distinguished from the rest by its requirement to respond to external eventsin real time. This category is classified as the real-time embedded system.As an introduction to embedded systems and real-time embedded systems, this chapter focuses on: examples of embedded systems, defining embedded systems, defining embedded systems with real-time behavior, and current trends in embedded systems.

This document is created with the unregistered version of CHM2PDF Pilot1.1 Real Life Examples of Embedded SystemsEven though often nearly invisible, embedded systems are ubiquitous. Embedded systems are present in manyindustries, including industrial automation, defense, transportation, and aerospace. For example, NASA s Mars PathFinder, Lockheed Martin s missile guidance system, and the Ford automobile all contain numerous embeddedsystems.Every day, people throughout the world use embedded systems without even knowing it. In fact, the embeddedsystem s invisibility is its very beauty: users reap the advantages without having to understand the intricacies of thetechnology.Remarkably adaptable and versatile, embedded systems can be found at home, at work, and even in recreationaldevices. Indeed, it is difficult to find a segment of daily life that does not involve embedded systems in some way.Some of the more visible examples of embedded systems are provided in the next sections.1.1.1 Embedded Systems in the Home EnvironmentHidden conveniently within numerous household appliances, embedded systems are found all over the house.Consumers enjoy the effort-saving advanced features and benefits provided by these embedded technologies.As shown in Figure 1.1 embedded systems in the home assume many forms, including security systems, cable andsatellite boxes for televisions, home theater systems, and telephone answering machines. As advances inmicroprocessors continue to improve the functionality of ordinary products, embedded systems are helping drive thedevelopment of additional home-based innovations.Figure 1.1: Embedded systems at home.1.1.2 Embedded Systems in the Work EnvironmentEmbedded systems have also changed the way people conduct business. Perhaps the most significant example is theInternet, which is really just a very large collection of embedded systems that are interconnected using variousnetworking technologies. Figure 1.2 illustrates what a small segment of the Internet might look like.

This document is created with the unregistered version of CHM2PDF PilotFigure 1.2: Embedded systems at work.From various individual network end-points (for example, printers, cable modems, and enterprise network routers)to the backbone gigabit switches, embedded technology has helped make use of the Internet necessary to anybusiness model. The network routers and the backbone gigabit switches are examples of real-time embeddedsystems. Advancements in real-time embedded technology are making Internet connectivity both reliable andresponsive, despite the enormous amount of voice and data traffic carried over the network.1.1.3 Embedded Systems in Leisure ActivitiesAt home, at work, even at play, embedded systems are flourishing. A child s toy unexpectedly springs to life withunabashed liveliness. Automobiles equipped with in-car navigation systems transport people to destinations safelyand efficiently. Listening to favorite tunes with anytime-anywhere freedom is readily achievable, thanks to embeddedsystems buried deep within sophisticated portable music players, as shown in Figure 1

understanding of real-time embedded systems with detailed practical examples and industry wisdom on key concepts, design processes, and the available tools and methods. Delve into the details of real-time programming so you can develop a working knowledge of the common design patterns and program structures of real-time operating systems (RTOS).

Related Documents:

Bruksanvisning för bilstereo . Bruksanvisning for bilstereo . Instrukcja obsługi samochodowego odtwarzacza stereo . Operating Instructions for Car Stereo . 610-104 . SV . Bruksanvisning i original

10 tips och tricks för att lyckas med ert sap-projekt 20 SAPSANYTT 2/2015 De flesta projektledare känner säkert till Cobb’s paradox. Martin Cobb verkade som CIO för sekretariatet för Treasury Board of Canada 1995 då han ställde frågan

service i Norge och Finland drivs inom ramen för ett enskilt företag (NRK. 1 och Yleisradio), fin ns det i Sverige tre: Ett för tv (Sveriges Television , SVT ), ett för radio (Sveriges Radio , SR ) och ett för utbildnings program (Sveriges Utbildningsradio, UR, vilket till följd av sin begränsade storlek inte återfinns bland de 25 största

Hotell För hotell anges de tre klasserna A/B, C och D. Det betyder att den "normala" standarden C är acceptabel men att motiven för en högre standard är starka. Ljudklass C motsvarar de tidigare normkraven för hotell, ljudklass A/B motsvarar kraven för moderna hotell med hög standard och ljudklass D kan användas vid

LÄS NOGGRANT FÖLJANDE VILLKOR FÖR APPLE DEVELOPER PROGRAM LICENCE . Apple Developer Program License Agreement Syfte Du vill använda Apple-mjukvara (enligt definitionen nedan) för att utveckla en eller flera Applikationer (enligt definitionen nedan) för Apple-märkta produkter. . Applikationer som utvecklas för iOS-produkter, Apple .

Real-Time Operating Systems are often used in embedded systems They simplify use of hardware, ease management of multiple tasks, and adhere to real-time constraints Power is important in many embedded systems with RTOSs . Specialized or static memory management common 14 Robert Dick Embedded System Design and Synthesis

2) K.V.K.K.Prasad, “Embedded Real-Time Systems: Concepts, Design & Programming”, dreamtech press, 2005. 3) Tim Wilmshurst, “An Introduction to the Design of Small Scale Embedded Systems”, Pal grave Publisher, 2004. 4) Sriram V Iyer, Pankaj Gupta, “Embedded Real Time Systems Programming”, Tata Mc-Graw Hill, 2004.

2. Embedded systems Vs General Computing system Page 4 Sec 1.2 ; 3. History of embedded systems , classification of embedded system Page 5,6 Sec 1.3 , Sec 1,4 . 4. Major application area of embedded sys Page 7 Sec 1.5 5. Purpose of embeded system Page 8 Sec 1.6 6. Typical Embedded sys: Core of embedded system Page 15 Chap 2 : 7. Memory Page 28