ARM System Developer's Guide: Designing and Optimizing System Software (The Morgan Kaufmann Series in Computer Architecture and Design)
"The ARM architecture has enabled a rich set of new applications on increasingly powerful wireless platforms.  Media-rich applications such as 3D games, camera and videophones, location-based services and connected portable music and video devices are enabled by next generation CDMA phones executing on the ARM architecture.Developing embedded software for these platforms requires a knowledge of the underlying architecture, and programming practices which balance power, cost and performance efficient.  Sloss provides a comprehensive and practical guide to the development of "hardware aware" software which meets the demanding constraints of these applications. Highlighted with practical examples, and enhanced by a thorough treatment of topics such as ISRs, code optimization, and DSP on ARM, this book is essential for every embedded software and hardware engineer alike."-J. Scott Runner, Senior Staff Engineer/Manager, Qualcomm CMDA Technologies, Qualcomm Inc."This book has a place on the desk of every engineer developing software for the ARM processor; it is a thorough introduction for newcomers, and a useful reference for the ARM expert.The technical information in this book is aimed squarely at the software developer, you'll find advice on bringing a device up from a bare board, reference information describing the characteristics of all current ARM architectures, and many valuable tips for optimizing code running on ARM cores.I have been using this book since reviewing the first draft, and can recommend it to anyone who wants the get the best out of their ARM Powered products."-Peter Maloy, CodeSprite Inc."This book provides an excellent introduction to the ARM architecture. It describes important architectural features in detail.  It also makes great use of examples to illustrate those features and put them in context."-Wayne Wolf, Princeton University