EmbeddedRelated.com
Books

ARM System Developer's Guide: Designing and Optimizing System Software (The Morgan Kaufmann Series in Computer Architect

Sloss, Andrew, Symes, Dominic, Wright, Chris 2004

Over the last ten years, the ARM architecture has become one of the most pervasive architectures in the world, with more than 2 billion ARM-based processors embedded in products ranging from cell phones to automotive braking systems. A world-wide community of ARM developers in semiconductor and product design companies includes software developers, system designers and hardware engineers. To date no book has directly addressed their need to develop the system and software for an ARM-based system. This text fills that gap.

This book provides a comprehensive description of the operation of the ARM core from a developer's perspective with a clear emphasis on software. It demonstrates not only how to write efficient ARM software in C and assembly but also how to optimize code. Example code throughout the book can be integrated into commercial products or used as templates to enable quick creation of productive software.

The book covers both the ARM and Thumb instruction sets, covers Intel's XScale Processors, outlines distinctions among the versions of the ARM architecture, demonstrates how to implement DSP algorithms, explains exception and interrupt handling, describes the cache technologies that surround the ARM cores as well as the most efficient memory management techniques. A final chapter looks forward to the future of the ARM architecture considering ARMv6, the latest change to the instruction set, which has been designed to improve the DSP and media processing capabilities of the architecture.

* No other book describes the ARM core from a system and software perspective.
* Author team combines extensive ARM software engineering experience with an in-depth knowledge of ARM developer needs.
* Practical, executable code is fully explained in the book and available on the publisher's Website.
* Includes a simple embedded operating system.


Why Read This Book

You will get a practical, systems-focused explanation of the ARM core and how to write and optimize low-level software — from assembly and C idioms to cache, MMU and exception handling — so you can design faster, smaller firmware and perform board bring-up and OS integration. While some specifics reflect older ARM generations, the book's principles about instruction set behaviour, system interfaces and performance tuning remain highly useful for embedded engineers working with ARM platforms.

Who Will Benefit

Best suited for intermediate-to-advanced embedded/firmware engineers and systems programmers working on ARM-based board bring-up, bootloaders, device drivers, or performance-critical code.

Get This Book

Related Books