04.01.2015 Views

Embedded Computing Design - OpenSystems Media

Embedded Computing Design - OpenSystems Media

Embedded Computing Design - OpenSystems Media

SHOW MORE
SHOW LESS

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>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!