I have two books on ARM this one and the ARM Reference manual (both by Addison Wesley). Whilst they do appear to over lap they are for two completely different markets. The System on a chip book, that I am reviewing here, is aimed more at those who are looking for an introductory book on micros based on ARM. The book explains in reasonable detail how the ARM core works but is not a programmer's reference.
If you have a little familiarity with processors and do not need hex and logic symbols explained this is the book. This book covers ARM 7 to 10, Strong Arm, Thumb and ARMulet. So as you can imagine it only skims each one.
The all parts of the core are explained with simple diagrams (though the diagram showing the MU0 ALU for one bit addition has 12 gates in it). It will take the mystery out of memory cache design, the MMU and how all the parts work together.
Managers will find some of the discussions on memory (cost/speed/power) very useful to help them guide a project. In fact this book will probably be of use to a the manager longer than the engineers.
One useful area is the discussion on the debug facilities and the JTAG. JTAG is the umbilical cord used to test the system, program flash and get the board running. This could have been a little more in depth but… I suppose any subject you are interested in could be a little deeper in this book. Basically it gives you enough information to go into the data books without getting swamped.
After this book you may need the Arm Architecture Reference Manual by David Seal, which covers the nuts and bolts of the hardware to a deep level. High-level programmers will need something else. This will depend on which OS they are using.
Interestingly the glossary is sort and contains some strange things for an ARM book: BBC (yes, Auntie Beeb!), PC (two entries), IEE, IEEE, BCS…
This book is ideal for students, managers and those wanting a gentle introduction to ARM in all it's forms. Working engineers with 32 bit experience will want something more substantial. I recommend it as an introduction to the ARM family