Embedded Systems Architecture: Design and write software for embedded devices to build safe and connected systems, 2nd Edition
I**A
Great book but misleading name
This is a great book if you are a software developer or designer looking to learn about embedded programming as mentioned in "Who this book is for" section. Addressing some of the areas in more detail, it really starts with a bird's eye approach. The effort behind this book is obviously tremendous and so, I appreciate the writer's and other contributors work.With a quick overall review of the section, I read about 40% of the book as of today. Being in embedded world for more than 15 years, I can say that this book will be another reference books of mine that I will always take a look in the future whenever I need to refresh my knowledge.The only reason for 4-star is the name which states "architecture". I can't suggest a name like "Introduction to Embedded Systems" or "Fundamental..." which is really not. However, the "architecture" word is sort of misleading to me. I might even prefer to say just "Embedded Systems".Best Regards.
T**E
The Best Introduction to Programming Embedded Systems
I have recently been forced to jump down from hacking on distributed systems to working on our embedded code. I was having a lot of trouble finding a good source of information that didn't simplify a lot of the important details. This book has been the best of the 4-5 I bought to study.It doesn't pull any punches and just explains the complexity of embedded systems extremely well. I'm only about 20% of the way through, but I'm enjoying it a lot. I would recommend this book to anyone that is relatively new to embedded systems and needs to understand the craft deeply.
T**Y
Great Reference- Not so good integration
Architectural practices are the art and technique of designing and building, a different skill set than construction. “Embedded Systems Architecture, 2nd ed.” (Packt) by Danielle Lacamera falls short in offering art and technique associated with embedded systems. The book provides an excellent reference to all the parts and pieces needed for embedded software, but the overall picture disappears in the weeds. Each section was excellent at the basic level; however, it needed more assembling and art information One is left with the knowledge of how a particular building was constructed without understanding why certain decisions were made during the process. The material splits into four sections, a general introduction, core system, device drivers, and multithreading. The introductory section discusses implementing C+ and the various functional pieces within embedded systems. The book uses a Cortex-M, 32-bit processor throughout, and the associated capabilities appear early for easy access. This blends into the next section discussing allocating memory and allowing for initial boot procedures. In any embedded system, managing memory allocation can be key as a make-it-or-break-it development point. The text explains the standard allocation for the Cortex-M and how to align pointers. Also mentioned are some common errors in allocating memory. This is a spot where the description includes fixes but not why the problem occurred. The third section describes setting clock times to enable effective communication, bus interfaces, power management, and distributed systems. In a typical architecture, this would be the system meat describing all the complicated pieces fitting together to create computation. The details drive down to which physical pins and digital maps connect which functions. The portion describes how to set up low-power functions, assign sleep functions, and manage different somnambulistic states within different power modes. Again, it would have been helpful to describe, other than reducing the power load, to why a particular approach might be more or less helpful to the overall architecture. This continues into the distributed architecture system, where the different protocols are described but not quantitatively or qualitatively compared. Those comparisons are usually the most valuable point when building a unique system. Section four again tempts but fails to fulfill. The joy in building a unique embedded architecture lies in designing the threading, customizing the way functions work, and maximizing performance. The chapter discusses how to do it but doesn’t compare the various elements to suggest when a particular area might be more appropriate. The last chapter then discusses sandboxing for the virtual machine. This approach seems like a no-brainer, if one is working with designing embedded architecture and Linux control systems, chances are development includes either a physical or virtual sandbox, one of the main reasons to design a unique architecture. This review reverses somewhat as normally, this portion would highlight one or two negative things about the book. Instead, the positive appears here. As a strong point, the book provides excellent references to every part of embedded architecture. Any questions about the specific construction of an application or loading that feature onto the embedded architecture are included. The section on physical versus digital mapping was excellent and could potentially help pen-testers in decomposing an unknown architecture. This book showed great potential but fell somewhat short. Overall, “Embedded Systems Architecture, 2nd ed.” (Packt) by Danielle Lacamera provides an excellent reference to all the pieces and parts needed within an embedded architecture. It falls short in integrating the individual pieces to the overall construction. One can see the stacks of boards, piles of nails, and available tools but the overall blueprint is missing. I do intend to keep a copy as a reference when I need to dig into troublesome construction parts, but it will not be this book that tells me why I am making those changes.
Trustpilot
2 months ago
1 week ago