An Embedded Software Primer / Edition 1

Paperback (Print)
Rent
Rent from BN.com
$18.43
(Save 69%)
Est. Return Date: 09/11/2014
Used and New from Other Sellers
Used and New from Other Sellers
from $26.96
Usually ships in 1-2 business days
(Save 55%)
Other sellers (Paperback)
  • All (13) from $26.96   
  • New (7) from $38.78   
  • Used (6) from $26.96   

Overview

"I sincerely wish (this book) had been available when I had to learn all this stuff the hard way."
--Steve Vinoski
"An excellent job of introducing and defining the jargon associated with embedded systems. This makes the text extremely easy to read."
--David Cuka

An Embedded Software Primer is a clearly written, insightful manual for engineers interested in writing embedded-system software. The example-driven approach puts you on a fast track to understanding embedded-system programming and applying what you learn to your projects. This book will give you the necessary foundation to work confidently in this field.

Building on a basic knowledge of computer programming concepts, this book will help you to:

  • Learn core principles and advanced techniques of embedded-system software.
  • Find out what a real-time operating system (RTOS) does and how to use one effectively.
  • Experiment with sample code and the ┬ÁC/OS RTOS version 1.11 (on the accompanying CD).
  • Apply what you learn, no matter which microprocessor or RTOS you use.

After reading this book, you will be able to tackle the challenges of embedded system programming and quickly reap the benefits of your new skills.

Read More Show Less

Product Details

  • ISBN-13: 9780201615692
  • Publisher: Addison-Wesley
  • Publication date: 7/23/1999
  • Edition description: BK&CD ROM
  • Edition number: 1
  • Pages: 448
  • Sales rank: 655,396
  • Product dimensions: 7.38 (w) x 9.18 (h) x 0.98 (d)

Meet the Author

David E. Simon is a partner in Probitas Corporation, a software development consulting firm. Much of his work at Probitas is in embedded systems for firms such as Apple, Adobe, Hewlett-Packard, and Symbol Technologies. David has 20 years of experience in software development, and is the author of three previous books. He regularly teaches a class on embedded systems for the University of California at Berkeley Extension Program.

020161569XAB04062001

Read More Show Less

Read an Excerpt

This book is to help you learn the basic principles of writing software for embedded systems. It surveys the issues and discusses the various techniques for dealing with them. In particular, it discusses approaches to the appropriate use of the real-time operating systems upon which much embedded software is based. In addition to explaining what these systems do, this book points out how you can use them most effectively.

You need know nothing about embedded-systems software and its problems to read this book; we'll discuss everything from the very beginning. You should be familiar with basic computer programming concepts: you might be a software engineer with a year or more of experience, or perhaps a student with a few programming courses under your belt. You should understand the problems involved in writing application programs. This book requires a reading knowledge of the C programming language; since C is the lingua franca of embedded systems, you will have to learn it sooner or later if you hope to get into the field. A little knowledge of assembly language will also be helpful.

You have no doubt seen many books about software that are 800 or 900 or even 1000 pages long. Presumably you have noticed by now that this book is much smaller than that. This is intentional--the idea is that you might actually want to read all the way through it. This book is not entitled Everything There Is to Know about Embedded Systems Software. Nobody could write that book, and if someone could and did, you wouldn't want to read it anyway. This book is more like What You Need to Know to Get Started in Embedded Systems Software, telling you enough that you'll understand the issues you will face and getting you started on finding the information about your particular system so that you can resolve those issues.

This book is not specific to any microprocessor or real-time operating system nor is it oriented towards any particular software design methodology. The principles are the same, regardless of which microprocessor and which realtime operating system and which software design methodology you use. We will concentrate on the principles--principles that you can apply to almost any embedded system project. When you need to know the specifics of your microprocessor and your real-time operating system, look in the voluminous manuals that hardware and software vendors provide with their products. This book will help you know what information to look for.

This book is not academic or theoretical; it offers engineering information and engineering advice. In short, this book is the cornerstone of the knowledge that you'll need for writing embedded-systems software.

David E. Simon
Read More Show Less

Table of Contents

Preface.

Acknowledgments.

About This Book and the Accompanying CD-ROM.

1. A First Look at Embedded Systems.

Examples of Embedded Systems.

Typical Hardware.

Chapter Summary.

2. Hardware Fundamentals for the Software Engineer.

Terminology.

Gates.

A Few Other Basic Considerations.

Timing Diagrams.

Memory.

Chapter Summary.

Problems.

3. Advanced Hardware Fundamentals.

Microprocessors.

Buses.

Direct Memory Access.

Interrupts.

Other Common Parts.

Built-Ins on the Microprocessor.

Conventions Used on Schematics.

A Sample Schematic.

A Last Word about Hardware.

Chapter Summary.

Problems.

4. Interrupts.

Microprocessor Architecture.

Interrupt Basics.

The Shared-Data Problem.

Interrupt Latency.

Chapter Summary.

Problems.

5. Survey of Software Architectures.

Round-Robin.

Round-Robin with Interrupts.

Function-Queue-Scheduling Architecture.

Real-Time Operating System Architecture.

Selecting an Architecture.

Chapter Summary.

Problems.

6. Introduction to Real-Time Operating Systems.

Tasks and Task States.

Tasks and Data.

Semaphores and Shared Data.

Chapter Summary.

Problems.

7. More Operating System Services.

Message Queues, Mailboxes, and Pipes.

Timer Functions.

Events.

Memory Management.

Interrupt Routines in an RTOS Environment.

Chapter Summary.

Problems.

8. Basic Design Using a Real-Time Operating System.

Overview.

Principles.

An Example.

Encapsulating Semaphores and Queues.

Hard Real-Time Scheduling Considerations.

Saving Memory Space.

Saving Power.

Chapter Summary.

Problems.

9. Embedded Software Development Tools.

Host and Target Machines.

Linker/Locators for Embedded Software.

Getting Embedded Software into the Target System.

Chapter Summary.

10. Debugging Techniques.

Testing on Your Host Machine.

Instruction Set Simulators.

The assert Macro.

Using Laboratory Tools.

Chapter Summary.

Problems.

11. An Example System.

What the Program Does.

Environment in Which the Program Operates.

A Guide to the Source Code.

Source Code.

Summary.

Problems.

Afterword.

Further Reading.

Index. 020161569XT04062001

Read More Show Less

Preface

This book is to help you learn the basic principles of writing software for embedded systems. It surveys the issues and discusses the various techniques for dealing with them. In particular, it discusses approaches to the appropriate use of the real-time operating systems upon which much embedded software is based. In addition to explaining what these systems do, this book points out how you can use them most effectively.

You need know nothing about embedded-systems software and its problems to read this book; we'll discuss everything from the very beginning. You should be familiar with basic computer programming concepts: you might be a software engineer with a year or more of experience, or perhaps a student with a few programming courses under your belt. You should understand the problems involved in writing application programs. This book requires a reading knowledge of the C programming language; since C is the lingua franca of embedded systems, you will have to learn it sooner or later if you hope to get into the field. A little knowledge of assembly language will also be helpful.

You have no doubt seen many books about software that are 800 or 900 or even 1000 pages long. Presumably you have noticed by now that this book is much smaller than that. This is intentional--the idea is that you might actually want to read all the way through it. This book is not entitled Everything There Is to Know about Embedded Systems Software. Nobody could write that book, and if someone could and did, you wouldn't want to read it anyway. This book is more like What You Need to Know to Get Started in Embedded Systems Software, telling you enough that you'll understand the issues you will face and getting you started on finding the information about your particular system so that you can resolve those issues.

This book is not specific to any microprocessor or real-time operating system nor is it oriented towards any particular software design methodology. The principles are the same, regardless of which microprocessor and which realtime operating system and which software design methodology you use. We will concentrate on the principles--principles that you can apply to almost any embedded system project. When you need to know the specifics of your microprocessor and your real-time operating system, look in the voluminous manuals that hardware and software vendors provide with their products. This book will help you know what information to look for.

This book is not academic or theoretical; it offers engineering information and engineering advice. In short, this book is the cornerstone of the knowledge that you'll need for writing embedded-systems software.

David E. Simon

020161569XP04062001

Read More Show Less

Customer Reviews

Average Rating 5
( 3 )
Rating Distribution

5 Star

(3)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing all of 3 Customer Reviews
  • Anonymous

    Posted May 20, 2003

    THE book to buy

    Excellent even if have already been involved in embedded systems design for a while. It will bring something anyway because it is clear. The author is a -real- teacher and not a confused scientist or an old engineer. Simon answers almost every question one might have to get right into embedded or to redesign a software architecture.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted October 25, 2001

    Highly recommended

    Very easy to understand. The breath and depth of the topics are well covered.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted September 4, 2001

    Excellent Book

    This book is a good resource to have in any collection. Being new to RTOS programming, this book got me up and running in no time. It's well written and very easy to follow and understand.

    Was this review helpful? Yes  No   Report this review
Sort by: Showing all of 3 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)