Paperback: 472 pages
Publisher: Newnes; 1 edition (October 7, 2010)
Language: English
ISBN-10: 1856177076
ISBN-13: 978-1856177078
Product Dimensions: 7.5 x 1.1 x 9.2 inches
Shipping Weight: 1.8 pounds (View shipping rates and policies)
Average Customer Review: 2.4 out of 5 stars See all reviews (8 customer reviews)
Best Sellers Rank: #376,147 in Books (See Top 100 in Books) #33 in Books > Computers & Technology > Hardware & DIY > Microprocessors & System Design > Microprocessor Design #37 in Books > Computers & Technology > Hardware & DIY > Microprocessors & System Design > Embedded Systems #155 in Books > Computers & Technology > Programming > Languages & Tools > C & C++ > C
I've read only 120 pages so far and decided to already post my review anyway.The book performs a rather good job in presenting a catalogue of design patterns for embedded systems: each pattern is provided with C code examples, an UML diagram, some clever explanations about its benefits, hints for its implementation, related patterns with which it can be combined, and other useful information.The author chose to structure his code as object-oriented whenever possible, even for the classes that will clearly never be instantiated more than once. This results in having in every function a parameter for the object on which it must be applied and a lot of pointer dereferencing that makes at my sense the code heavier to read.In addition, for a book about embedded systems, I would expect variables qualified as volatile when it is required, when accessing memory-mapped I/O for example (p. 83). The text has some typos (p. 81, "high-ugency" or "distribition") and some errors (p. 111, observer pattern: "the clients simply offer a subscription function that allows clients (...)".If I had to stop my review of the book at this point, I would probably give it 4 stars.Unfortunately I am not. I got rapidly annoyed of continuously reading so badly formatted code. The indentation and braces are set completely at random throughout the whole book. On page 29, the author shows the overall structure with some completely wrong pseudo code: "Switch", missing case statements, a strange "If { ]" block... Moreover there are a lot of strange constructs and approximations in the code snippets: useless nested blocks {{ }} (p 56); for (p. 20), if (p.72) and while (p. 71) statements finished with a semi-colon; '/n' instead of '\n' (p.
The short: By all means, buy and work through Test Driven Development for Embedded C (Pragmatic Programmers) by James Grenning before you buy this book. You will not regret it.The long: Powell's book is full of extensive code examples, which is a good thing. But, to my surprise, the code downloads are in MS Word format. About the only advantage of this is, that you can relatively easily correlate the sample code to the book.The main drawback, however, is that this code in the you get it, has never been compiled, linked, or tested in any shape or form. Definitely, NEVER.The include file "mutex.h", in particular, is referenced dozens of times in example code. From what I can tell, it is Powell's own version of a mutex implementation, but there is NOTHING in the book or in the code, not even pseudocode or anything. Basically, this means that dozens of examples are impossible to compile unless you improvise your own mutex.h (easy), and they are impossible to link or test, unless you also design your own implementation of Powell's mutex.Up to this point, I would still have given the book 3 points, because it still contains a lot of useful stuff.Enter the publishers: Elsevier, "Addison-Wesley" and their likes. I would give them a minus-two rating, if it were possible. They are no longer reader-oriented, and delegate the real reader support to third-party sites, which leave to be desired as well. As for Elsevier, they seem to specialize in medical books, and little else. Why would they even want to publish this book?
Design Patterns for Embedded Systems in C: An Embedded Software Engineering Toolkit Crochet: Easy Crochet Patterns: Crochet Patterns for Beginners (Crochet: Step by Step Crochet, Crochet Patterns, Easy Crochet Patterns, Crochet Patterns for Beginners, and Crochet Projects) Small Memory Software: Patterns for systems with limited memory (Software Patterns Series) Making Embedded Systems: Design Patterns for Great Software DSP Software Development Techniques for Embedded and Real-Time Systems (Embedded Technology) C#: Design Patterns: The Easy Way Standard Solutions for Everyday Programming Problems; Great for: Game Programming, System Administration, App Programming, ... & Database Systems (Design Patterns Series) C#: Design Patterns: The Easy Way Standard Solutions for Everyday Programming Problems; Great for: Game Programming, System Administration, App ... & Database Systems (Design Patterns Series) Microsoft Log Parser Toolkit: A Complete Toolkit for Microsoft's Undocumented Log Analysis Tool Embedded Systems Security: Practical Methods for Safe and Secure Software and Systems Development Real-Time Software Design for Embedded Systems Algorithms: C++: Data Structures, Automation & Problem Solving, w/ Programming & Design (app design, app development, web development, web design, jquery, ... software engineering, r programming) Scala Design Patterns: Patterns for Practical Reuse and Design His Forge Burns Hot for Mosaic Damascus: Knife Patterns & Techniques: Damascus pattern making & techniques. Learn how to make mosaic Damascus patterns ... techniques for making Damascus patterns. Crochet Mandala: 12 Most Gorgeous Patterns With Easy Instructions: (Crochet Hook A, Crochet Accessories, Crochet Patterns, Crochet Books, Easy Crochet ... Crocheting For Dummies, Crochet Patterns) 11 Crochet Shawl Patterns: Crochet Poncho Patterns, Free Easy Crochet Patterns and More Crochet Mandala: 15 Best Fabulous Patterns With Easy Instructions: (Crochet Hook A, Crochet Accessories, Crochet Patterns, Crochet Books, Easy Crochet ... Crocheting For Dummies, Crochet Patterns) Crochet Mandala For Beginners Learn To Create 15 Amazing Crochet Mandala Patterns: (Crochet Mandala Patterns, Crochet for Beginners) (crochet books patterns, cute and easy crochet) Real-time Operating Systems (The engineering of real-time embedded systems Book 1) Swift: Programming, Master's Handbook: A TRUE Beginner's Guide! Problem Solving, Code, Data Science, Data Structures & Algorithms (Code like a PRO in ... mining, software, software engineering,) Cartographer's Toolkit: Colors, Typography, Patterns