Making Embedded Systems
Design Patterns for Great Software
Publisher: O'Reilly Media
Released: October 2011
Pages: 330

Interested in developing embedded systems? Since they don’t tolerate inefficiency, these systems require a disciplined approach to programming. This easy-to-read guide helps you cultivate a host of good development practices, based on classic software design patterns and new patterns unique to embedded programming. Learn how to build system architecture for processors, not operating systems, and discover specific techniques for dealing with hardware difficulties and manufacturing requirements.

Written by an expert who’s created embedded systems ranging from urban surveillance and DNA scanners to children’s toys, this book is ideal for intermediate and experienced programmers, no matter what platform you use.

  • Optimize your system to reduce cost and increase performance
  • Develop an architecture that makes your software robust in resource-constrained environments
  • Explore sensors, motors, and other I/O devices
  • Do more with less: reduce RAM consumption, code space, processor cycles, and power consumption
  • Learn how to update embedded code directly in the processor
  • Discover how to implement complex mathematics on small processors
  • Understand what interviewers look for when you apply for an embedded systems job

"Making Embedded Systems is the book for a C programmer who wants to enter the fun (and lucrative) world of embedded systems. It’s very well written—entertaining, even—and filled with clear illustrations."
—Jack Ganssle, author and embedded system expert.

Table of Contents
Product Details
About the Author
Colophon
Recommended for You
Customer Reviews

REVIEW SNAPSHOT®

by PowerReviews
oreillyMaking Embedded Systems
 
3.4

(based on 7 reviews)

Ratings Distribution

  • 5 Stars

     

    (3)

  • 4 Stars

     

    (1)

  • 3 Stars

     

    (1)

  • 2 Stars

     

    (0)

  • 1 Stars

     

    (2)

71%

of respondents would recommend this to a friend.

Pros

  • Helpful examples (3)
  • Well-written (3)

Cons

    Best Uses

    • Novice (4)
    • Intermediate (3)
      • Reviewer Profile:
      • Developer (5)

    Reviewed by 7 customers

    Sort by

    Displaying reviews 1-7

    Back to top

    (0 of 29 customers found this review helpful)

     
    1.0

    Do we really need to read this book

    By electra

    from milton keynes, UK

    About Me Designer

    Verified Reviewer

    Pros

    • None

    Cons

    • Too basic

    Best Uses

    • Student

    Comments about oreilly Making Embedded Systems:

    I was looking for a book introducing how to design embedded system and my attention was catched by the Elecia's.Unfortunatley in the end the taste is sour. I wasn't expecting to get the Book, but neither the sort of book for dummy where it is written everithing without saying nothing. The editor should think about it. I will not buy another book from them.

    (1 of 2 customers found this review helpful)

     
    3.0

    Almost There

    By Silver Dragon

    from Honolulu

    About Me Developer

    Pros

    • Gets You On Track

    Cons

    • Difficult to understand
    • Not comprehensive enough

    Best Uses

    • Expert
    • Intermediate

    Comments about oreilly Making Embedded Systems:

    The idea behind it is good, but the delivery is a little shakey. Context code would be very helpful. Also, this book is aimed mainly at software developers (this is not a plus or minus, it just makes the book not for beginners).

    I said that this book is only for Intermediate and Experts because there are parts throughout that might not make any sense to an absolute beginner and are extremely technical.

    I would only recommend this book to a friend because it is the first of its kind. However, a second edition with code examples that indicate proper code organization would be great.

    (5 of 6 customers found this review helpful)

     
    4.0

    Great for background & working examples

    By Jefro

    from California

    About Me Community Manager, Educator, Linux geek, Maker, Technical Writer

    Verified Reviewer

    Pros

    • Accurate
    • Concise
    • Easy to understand
    • Focused
    • Helpful examples
    • Well-written

    Cons

      Best Uses

      • Gap-filling
      • Intermediate
      • Novice
      • Student

      Comments about oreilly Making Embedded Systems:

      I was extremely interested in reading this book, partly because it falls in my area of expertise, or at least I thought from the title that it would, and partly because I frequently find gaps in my knowledge base that books like this can fill. On this second point I could not have asked for a better volume. The breadth and depth of the examples and explanations gave me a greater understanding of many of the nuances of embedded systems programming than I had to begin with. The book is well-written and very well organized, and could easily be used as a textbook.

      My only regret with the book is that it focuses solely on the interface between hardware and software, and does not cover embedded operating systems at all. At first I found this disappointing, and I still think some options could be discussed in an appendix, but I understand that is not the purpose of the book - and quite honestly, I learned so much from it that I can see why the author chose not to include that discussion.

      I would highly recommend this book to anyone learning embedded systems programming who needs to know why an operating system is (or isn't) a good idea for a given project or hardware solution. You should know this stuff before attempting to choose an operating system, which I think is the author's point, and it is very well made.

      Disclaimer - I received a review copy of the book.

      (4 of 4 customers found this review helpful)

       
      5.0

      It's what you need to know

      By Douglas Duncan

      from Lyons, CO

      About Me Developer

      Verified Reviewer

      Pros

      • Helpful examples
      • Well-written

      Cons

        Best Uses

        • Intermediate
        • Novice

        Comments about oreilly Making Embedded Systems:

        'Making Embedded Systems' by Elecia White is a great book for those who want to get an insight into what is needed to build these systems. Elecia does her best to explain each step in a way that's understandable to those new to the field, although there were a couple places that I had to reread a couple times to understand what she was saying due to the technical nature of the subject. This book was a great read and Elecia's writing made it seem like you were sitting there with her seeing how she works through issues. Since this is more an overview of the topic, she does not go overly in depth into everything you need for building these systems, she does cover things adequately to give you what you need to know.

        Elecia walks through the different areas of embedded systems and what one needs to think about and look out for while designing their system. Being that you will be writing software for a system that most likely doesn't have an operating system, she explains how to get the most out of your software on a system where the resources are small. Throughout she gives pointers on what you can do to squeeze out those last few (critical) clock ticks or how to reduce your code size when your code base is just a little to big to fit into memory.

        At the end of each chapter she lists some resources that help go deeper into some of the subjects that she covered, and then she ends with an interview question and what she (or another interviewer) might look for in the responses given. Even in this portion of each chapter there is content that makes you think.

        Overall this was a great book and the author is clearly passionate about what she does. If you're new to the embedded systems world, this is a good place to start, and I highly recommend this book.

        (6 of 6 customers found this review helpful)

         
        5.0

        Worth a place on your bookshelf

        By Ken Brown

        from Cupertino, CA

        About Me Developer

        Pros

          Cons

            Best Uses

              Comments about oreilly Making Embedded Systems:

              This is an excellent book for someone who's written software before, but is new to writing software for
              products which don't have an operating system. It assumes you know C, but it has a good introductory section
              on dealing with hardware at what I call the "connect-the-dot" level - enough to keep a hardware engineer
              honest, but not enough for you to threaten to take their job.

              It presents a disciplined, systematic approach to designing software so that the engineer who does
              the next revision of your project isn't cursing (too much) what you've done, and has a fighting chance to
              reuse what you've written. This kind of discipline is often lacking, especially on small projects where
              you may be the only software person, and your hardware engineer thinks they know more about writing software
              than you do (most don't, but many will try to convince your manager otherwise). Every engineer knows that
              they could have done a much better job than the engineer who preceded them, but the engineer that doesn't
              consider the design concepts that are presented is probably kidding themself. Using these concepts will
              keep your hardware engineer from threatening to take your job.

              The book also has a lot for the more experienced engineer who may need a jumpstart on dealing with a type
              of peripheral that they may not have dealt with before, or who may need to think about how the gizmo they are
              designing will communicate with the gizmo that's being designed next door. There's a surprising amount of
              depth in covering issues you might not otherwise think about (until it's too late). If I have one criticism,
              it would be that some topics are dealt with in great detail, while others are only covered at a high level.
              Maybe that's just the price of trying to keep inside a page budget.

              Finally, the tips on job interview questions are entertaining and useful no matter which side of the interview
              table you find yourself.

              Full disclosure: I have worked with the author at 2 different companies, and provided her with comments on an early draft of the book.

              (9 of 9 customers found this review helpful)

               
              5.0

              Full of wisdom

              By JLangbridge

              from Nantes, France

              About Me Developer

              Verified Reviewer

              Pros

              • Easy to understand
              • Helpful examples
              • Well-written

              Cons

                Best Uses

                • Novice

                Comments about oreilly Making Embedded Systems:

                Disclaimer: I was given a free copy to review

                Books on embedded systems come and go, and over my ten years of experience I've seen quite a few. Most books will only go into detail about one particular subject; programming techniques, specific hardware or sometimes even a how-to for one specific situation. This book is different, for one an author goes into detail on just about everything.

                Making Embedded Systems by Elecia White is not a bible, for some people it will not go into enough detail for specific parts of making embedded systems, but the domain itself is so vast that I really can't see how any one book could cover everything. Elecia goes into detail about the key functionalities of embedded systems; for example, power conservation, interrupts and timers. Everyone has heard about interrupts, but just what overhead do they create? When would I need them, when should I avoid them?

                Elecia also goes into a little more detail about another part of embedded systems; the teams that have the repsonsability of designing and building them. Just what makes an engineer suited for the job? What do you need in a team to give the best chances of success? This book has a few little extras about job interviews and trick questions, that while not necessarily required, always provide a welcome break between two subjects, and make you thin (the fridge question would have scared me!)

                This book is aimed for beginners; most high-level engineers will already be looking for books on very precise subjects, but as a primer, it is great. With ten years of experience I didn't necessarily learn anything new technically (but a refresher is always welcome), but I now have a few ways of explaining things to junior members of my team, and a new way of thinking.

                This book is full of technical detail, but more importantly, it is full of wisdom. I had fun reading this, and to the question would I recommend this book to a friend? I already have, to junior members of my team.

                (9 of 23 customers found this review helpful)

                 
                1.0

                Does not cover anything in enough detail

                By Old Codger

                from San Diego

                About Me Designer, Developer

                Verified Reviewer

                Pros

                  Cons

                  • Not comprehensive enough

                  Best Uses

                  • Novice

                  Comments about oreilly Making Embedded Systems:

                  The book scratches the surface of many key elements without doing much of anything usefully for any practicing engineer to learn anything new. It is telling to see less than one page on priority inversion, almost meaningless coverage of ipc and practically useless coverage of the osi stack in a confusing way. I'm disappointed again to see another O'Reilly book seriously short of the mark. I will be getting a refund on this book. Lastly I found the reference to interview questions of no use in a book on supposedly designing embedded systems, for example "Getting a goat safely across a river", perhaps if the author cast a wider net and had more reviewers, and spent longer deciding what the objective was a quality book might have resulted.

                  Displaying reviews 1-7

                  Back to top

                   
                  Buy 2 Get 1 Free Free Shipping Guarantee
                  Buying Options
                  Immediate Access - Go Digital what's this?
                  Ebook: $31.99
                  Formats:  DAISY, ePub, Mobi, PDF
                  Print & Ebook: $43.99
                  Print: $39.99