This book seems to be aimed at a specific, first year undergraduate, course. The initial chapter explains what an IC is, down to the 'stiff metal legs along the side'. It then goes on to explain logic symbols and things like ground and power symbols. Basically digital electronics is covered in three short chapters and I am a little dubious of some of the explanations. The hardware section tries to cover far too much ground, including interrupts, DMA, PALs, FPGAs, ASICs, in a short space. However processor architectures are not covered.
The same is true of the software, a lot is covered in a very short space - too much, too lightly. It is assumed that the reader can understand C and assembler. The main part of the software covers various forms of scheduling, multi-tasking and RTOS. I covered much of this sort of thing when studying UNIX and very heavy weight 32 and 64 bit embedded systems. Many embedded systems, most 8 and 16 bit for example, which are by far the majority, are self-hosted and do not follow the model used in this book.
I have a sense of unease about this book, which was reinforced, when I read the section on debugging tools. The author is rather out of date and some of his assertions are no longer correct. The author dismisses the major embedded debugging tool, the ICE, in a few sentences that may have been correct 15 to 20 years ago but are certainly not now.
Overall, the book skims over too much, too lightly and misses out some major topics. Leaving the 60-page chunk of source code on the CD and using the space for other things would have helped. One good point is the answers to the problems are on the CD. I find some of the descriptions and explanations do not sit well. The later chapters will overwhelm anyone who needs the first chapters. It is very difficult to see who this book is aimed at. Overall, I cannot recommend this book. Not recommended.