Not great, but OK for the right reader
Review written by: J Jacob Jingleheimer Schmidt From
PROs:
- The book covers the right topics presented in a sensible logical progression.
- The book comes with a good chunk of real, functional source code that can be profitably studied (the main value of this book imo).
CONs:
- Like every single CMP (fomerly R&D) book, this one is rather poorly written and sports a good number of ridiculous typos that
a run through a spellchecker would fix.
- The book is introductory, not indepth.
- Nitpicking: binding's bad, crack the book open once and it starts falling apart.
Even though it is suggested in the Introduction that this book targets both programming novices and competent general-purpose programmers entering the embedded realm, I feel that only the latter group stands to benefit here; a total neophyte will be confused by the disjointed, imprecise, and sometimes misleading writing. But someone already familiar with the universally applicable computing basics can probably compensate for writing deficiencies while picking a number of useful things specific to the embedded area; in that respect the book is instructive.
Overall, it's kind of like the Labrosse book (on uCos) -- a painful read significatly compensated by the opportunity to study the attached source code. Another comparable book is Barr's "Programming Embedded Systems in C and C++", which is by an order of magnitude better written but at the same time somewhat skimpier than this one.
Far too little real problem/solutions
Review written by: Frank Motta From Fremont, CA United States
Lacks alternative scheduling, decent memory layout, data placement for minimal motion, deterministic I/O - can be used for hobbiest - I don't recommend this book for education. It is a good novelty item and not quite a 'Dan Saks how do code so you can't maintain it' book. But, close.
Not bad - needs real ROM-based development
Review written by: Frank Motta From Fremont, CA United States
OK for basic knowledge - not enough ROM, JTAG, and I/O. Not to mention too little on alternative link maps and data storage
methodologies for mimimal motion
An embedded systems *MUST HAVE*
Review written by: David W. Hawkins From Bishop, CA United States
Ed Sutter does a great job of explaining the inner workings of embedded systems, provides knowledgeable experience, and practical solutions for the embedded world.
Experienced embedded designers will find this book contains an excellent interface that is portable (and more importantly useful!) across a board range of processor architectures, while anyone new to embedded systems (especially those that start from the non-embedded world of the desktop PC) will learn a great deal about the workings of the embedded world.
The book focuses on the Micromonitor embedded boot monitor. However, since this boot monitor contains Xmodem support, ethernet support, tftp boot capability etc, the reader is exposed to many common embedded system tools and functionality. I have used Micromonitor on PowerPC and ColdFire boards and have learnt much more than about Micromonitor. Micromonitor can be built and used from both Windows and Linux systems (I've tested both).
This is an excellent book - thanks Ed.
From a Hardware Engineer
Review written by: Clark F. Molster From Newbury Park, CA United States
As a hardware engineer using mostly PowerPC assembly, I bought this book at the ESC in S.F. looking to learn embedded C programming techniques. Though the book itself is informative, the micro-monitor software on the included CD-ROM is what really makes this book worth the money. It's got a serial port command line interface, an ethernet driver (pseudo-sniffer), a flash-file system etc., and I was able to get it up and running pretty much out of the box (the GNU tools and the makefile are a little testy, but the package is complete).
I had help from our senior software engineer, but I worked pretty hard learning and porting the code. I advise anyone interested in using this software to get one of the evaluation boards (numerous platforms are supported) such as Motorola's MPC8XXFADS board, and get it up and running before attempting a port. A good low-level debugger (BDM interface) helps huge.
If you're not a fluent C-programmer, get a good book (Kernighan and Ritchie's "The C- Programming Language" is what I used). This software will force you to learn it well. Don't depend on the text for answers. You've got to read a lot of source code.
I'm very pleased with what I've learned, and with the functionality and robustness of the software. It was worth the effort. Our senior software engineer is impressed with the overall program design as well.
So get ready to get your hands dirty...