Embedded Computing Design - OpenSystems Media
Embedded Computing Design - OpenSystems Media
Embedded Computing Design - OpenSystems Media
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
ARM System Developer’s<br />
Guide<br />
By Andrew N. Sloss, Dominic Symes, and Chris Wright<br />
Reviewed by Chad Lumsden, Technical Editor<br />
Table of Contents:<br />
■ Chapter 1: ARM <strong>Embedded</strong> Systems<br />
■ Chapter 2: ARM Processor Fundamentals<br />
■ Chapter 3: Introduction to the ARM Instruction Set<br />
■ Chapter 4: Introduction to the Thumb Instruction Set<br />
■ Chapter 5: Efficient C Programming<br />
■ Chapter 6: Writing and Optimizing ARM Assembly Code<br />
■ Chapter 7: Optimized Primitives<br />
■ Chapter 8: Digital Signal Processing<br />
■ Chapter 9: Exception and Interrupt Handling<br />
■ Chapter 10: Firmware<br />
■ Chapter 11: <strong>Embedded</strong> Operating Systems<br />
■ Chapter 12: Caches<br />
■ Chapter 13: Memory Protection Units<br />
■ Chapter 14: Memory Management Units<br />
■ Chapter 15: The Future of the Architecture<br />
For embedded system developers, some of the main requirements<br />
for a successful project are a short project life,<br />
timely time-to-market turnaround, and quick and effective<br />
development of microprocessor-based products. For these reasons,<br />
the ARM architecture has become one of the most widely used<br />
32-bit architectures in the world. They are embedded in a vast<br />
number of products, and this has led to the organization of a<br />
worldwide support community. What has lacked in this development<br />
community is the need to support ARM-based embedded designs.<br />
The ARM System Developer’s Guide fills this need by describing<br />
the operation of the ARM core from a product developer’s<br />
perspective. The text assumes that the reader is experienced with<br />
embedded systems development, but is inexperienced with ARM<br />
architecture. Software design is emphasized in the text, and each<br />
chapter includes an ARM software design example that can be<br />
adapted for integration into a commercial product.<br />
The first chapter describes the philosophy behind ARM processor<br />
design and how it differs from traditional design methods. The<br />
chapter then describes the characteristics of an ARM-based<br />
embedded system. Chapter two emphasizes the core of an ARMbased<br />
system and provides an overview of popular ARM cores.<br />
Chapters three and four examine the ARM and Thumb instruction<br />
sets and point out the differences between the two assembly<br />
code variations. The chapters include the first examples of the<br />
comprehensive flow-charts, tables, drawings, and design examples<br />
that are included throughout the entire book.<br />
Chapter five provides guidelines on how to develop effective C<br />
code for the ARM architecture, while chapter six provides<br />
guidelines on the development of effective assembly code. For<br />
chapter seven, one of the most in-depth chapters in the book,<br />
the discussion turns to the optimization of primitives for specific<br />
ARM processors. Chapter eight discusses the proliferation of the<br />
ARM processor in the DSP realm which has been driven by the<br />
ever growing requirements of today’s hi-end audio and video<br />
embedded systems. Chapter nine describes how to effectively<br />
process addressing exceptions and interrupts to improve system<br />
performance.<br />
In chapter 10, the authors review several different types of user<br />
firmware available for the ARM processor, while chapter 11<br />
focuses on the broader subject of embedded operating systems.<br />
Chapters 12-14 discuss the many different solutions for memory<br />
management problems. To conclude, chapter 15 forecasts what the<br />
future may hold for ARM processor technology, and is followed by<br />
several appendices providing detailed reference on the instruction<br />
sets, cycle timing, and an array of ARM products.<br />
This nearly 700-page guide is ideal as a definitive reference source<br />
for any serious ARM-based embedded system developer.<br />
For information on how to obtain a copy of the ARM System<br />
Developer’s Guide (ISBN 1-55860-874-5), contact:<br />
Morgan Kaufmann Publishers<br />
An Imprint of Elsevier Science<br />
500 Sansome St., Suite 400<br />
San Francisco, CA 94111<br />
12 / Summer 2004 <strong>Embedded</strong> <strong>Computing</strong> <strong>Design</strong>