Vous voulez voir cette page en français ? Cliquez ici.

Sign in to turn on 1-Click ordering.
More Buying Choices
Have one to sell? Sell yours here
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

An Embedded Software Primer [Paperback]

David E. Simon
4.2 out of 5 stars  See all reviews (18 customer reviews)
List Price: CDN$ 62.99
Price: CDN$ 39.68 & FREE Shipping. Details
You Save: CDN$ 23.31 (37%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Usually ships within 2 to 5 weeks.
Ships from and sold by Amazon.ca. Gift-wrap available.


Amazon Price New from Used from
Paperback CDN $39.68  
Join Amazon Student in Canada

Book Description

Aug. 5 1999 020161569X 978-0201615692 1
"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.

Special Offers and Product Promotions

  • Join Amazon Student in Canada

Customers Who Bought This Item Also Bought

Product Details

Product Description


"An excellent job of introducing and defining the jargon associated with embedded systems. This makes the text extremely easy to read." -- David Cuka

I sincerely wish (this book) had been available when I had to learn all this stuff the hard way." -- Steve Vinoski

From the Inside Flap

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


Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Customer Reviews

Most helpful customer reviews
I started working on an embedded platform 1 year ago. Although now I have a good understanding of a lot of the aspects of the system, I never get the big picture.
This book provides exactly what I needed.
If you are a working software engineer and have spent years doing high level programming, the first few chapters will give you a good review of low-level-close-to-the-machine things that you need to know, which is also very useful for students as these are very important concepts that they need to understand to have a solid foundation to conquer higher level, more abstract CS subjects.
In embedded system, bugs in task code can bring down the device. Author has done a very good job explaining how to protect shared data using mechanism provided by a RTOS. The communication between interrupt/task and among tasks are also discussed thoroughly.
Unlike the other reviewer, I found the use of the C!! language in this book a very clever way to abstract away the hardware dependent code from the point being discussed. Consider it pseudo comment if you will.
BTW, the excellent typesetting and use of fonts also makes it a very pleasant experience reading this book.
Looking forward to see a more advanced text on embedded system from this author in the future.
Was this review helpful to you?
The book provides very useful information for anyone that wishes to learn embedded software from the ground up. Great for entry level engineers, or professionals wishing to make a lateral move into embedded systems. The book has two clearly written chapters dedicated to hardware fundamentals; describing I/O .vs. memory mapping, how interrupts function, memory types including PROM's, and microprocessor basics. A chapter is dedicated to one of the single most inportant issues in embedded systems SHARED DATA and how to prevent corrupting it. Chapter 5 discusses four basic software methods to servicing interrupts. Chapters 6,7, and 8 clearly introduce the concept of an RTOS (Real Time Operating System). Chapter 9 is a must read for those new to embedded systems. It discusses development tools and the steps required to get your final code onto the target system. It explains what a cross-compiler is and why they are used in embedded systems. This is a very good book for engineers with C skills!
Was this review helpful to you?
1.0 out of 5 stars Misleading Nov. 30 1999
By A Customer
Though a primer, the book has several places that could mislead beginners: First of all, as we know, flash memories nowadays can be written at least one million times, but the book indicates a much lower rate. In one place, the author argued that the distinction between a microprocessor and a microcontroller is vague. This, to some extent, is true. However, one can easily say with much confidence that the major difference between the two is that the latter has I/O, memory, and other peripheral devices integrated together. Thirdly, the C! language introduced in the book is nothing but the equivalence of the standard C/C++ comment structure - This could be confusing to beginners. Lastly, but not the least, the book mentioned quite a few RTOS in its scattered examples: I think it would be more illustrative to concentrated on just one RTOS (such as VxWorks), since no one is familiar with them all. I would really like to see these points be incorporated into its upcoming hardcover edition. Overall, I give the book a lone star rating for being the first such book for embedded programmers.
Was this review helpful to you?
5.0 out of 5 stars A must-read Embedded Software Primer Oct. 1 2002
If you are going to buy only one book on Embedded Software Programming, this should be the one. The author introduces virtually everything an engineer needs to know about programming embedded systems. There are two chapters describing hardware stuff that is useful for the software engineer to know. There is a chapter on Interrupts. There are three chapters on programming in an RTOS environment. All of the chapters include coding examples on what to do, and also examples of code with bugs to watch out for. There is also a chapter on debugging techniques.
All of the other FIVE STAR reviews (and many of the FOUR STAR ones as well) contain more specific points which I won't repeat here.
However, I will echo what I said at the beginnning. If there is only one book you are going to buy about programming embedded systems, this should be the one.
Was this review helpful to you?
I shouldn't need to say more; If you're interested in learning about writing software for embedded systems, this book will take you by the hand and get you there without a lot of fuss or difficulty in trying to figure out advanced topics from a 50,000ft perspective. It drills into each discussion using simplified but not simpleton characteristics of this writer's excellent skill. I recommend this book to every software engineer starting on the path to developing embedded systems. The use of uCOS-II is a decent idea, especially for everyone interested in doing a little embedded systems development using PC hardware...however, I believe that it is a less-than perfect choice because of the rather limited compiler choices for uCOS-II, which should at least include GNU's gcc, but doesn't last time I checked.
Was this review helpful to you?
5.0 out of 5 stars A very good primer. April 29 2002
My friend recommended this book to me when I wanted to understand the fundamentals of Embedded systems.
The chapters on Hardware overview took me back memory lanes when I was at college. Good refresher.
What I most liked about the book is the section that deals with choices of embedded architecture and how and when to chose specific architecture.
Book is accompanied by a CD with a kernel of an embedded OS along with the source code. Haven't had the time to go over the CD. Nevertheless, I got what I wanted regarding embedded systems. I can understand embedded system much better now.
Currently, this is the only good book on fundamentals of embedded systems in the market.
Was this review helpful to you?
Want to see more reviews on this item?
Most recent customer reviews
2.0 out of 5 stars Way to basic!
It's just what it say "a primer". This book seems like it would be great for someone who has never programmed for embedded systems. Read more
Published on Dec 18 2003
5.0 out of 5 stars Good book used in UW Extension course
A good book for introducing embedded systems concepts from a practical point of view. It is used, along with uCOS-II by Jean J Labrosse, in a one of a kind certificate program... Read more
Published on Nov. 10 2003
5.0 out of 5 stars Good Reading for embedded developers
I've been working with embedded systems for 10 years, and found lots of info, I hadn't seen or read before. Read more
Published on Nov. 3 2003 by Steven P Cavanagh
4.0 out of 5 stars Good overview
This book is very good overview of the process of embedded software design. Experts in embedded software design will probably not get much out of this book as he doesn't go into... Read more
Published on July 15 2002 by Jonathan Happel
2.0 out of 5 stars Too basic
This book gives a solid overview of embedded systems and how they work in conjunction with hardware and software, but it does not give enough in depth analysis of embedded systems. Read more
Published on May 13 2002 by Obaid Haqqi
4.0 out of 5 stars A good overview book on embedded OS
This is a readable, good overview on embedded system in a nutshell. The author bundled a sample using microC/OS RTOS kernel. However, the compilation is done using Borland 3. Read more
Published on Aug. 17 2001 by B. K. Lau
4.0 out of 5 stars Great book.
Great book. Easy to read. Comprehensive. The only thing preventing it from the 5th star is lack of more OS specific examples. Read more
Published on April 4 2001 by KD
5.0 out of 5 stars Well-written, good examples, author shares his experience
Particularly useful for those just starting out in embedded software or for students at the bachelors level. Read more
Published on Dec 6 2000 by Kenneth S. Dieudonne
5.0 out of 5 stars What I Learned The Hard Way
This is a great book for begineers. The author touches upon just about all aspects of software development for embedded systems. Read more
Published on March 24 2000
Search Customer Reviews
Only search this product's reviews

Look for similar items by category