Table of Contents:
1. ARM Embedded Systems
1.1 The RISC Design Philosophy
1.2 The ARM Design Philosophy
1.3 Embedded System Hardware
1.4 Embedded System Software
2 ARM Processor Fundamentals
2.2 Current Program Status Register
2.4 Exceptions, Interrupts, and the Vector Table
2.5 Core Extensions
2.6 Architecture Revisions
2.7 ARM Processor Families
3 Introduction to the ARM Instruction Set
3.1 Data Processing Instructions
3.2 Branch Instructions
3.3 Load-Store Instructions
3.4 Software Interrupt Instruction
3.5 Program Status Register Instructions
3.6 Loading Constants
3.7 ARMv5E Extensions
3.8 Conditional Execution
4 Introduction to the Thumb Instruction Set
4.1 Thumb Register Usage
4.2 ARM-Thumb Interworking
4.3 Other Branch Instructions
4.4 Data Processing Instructions
4.5 Single-Register Load-Store Instructions
4.6 Multiple-Register Load-Store Instructions
4.7 Stack Instructions
4.8 Software Interrupt Instruction
5 Efficient C Programming
5.1 Overview of C Compilers and Optimization
5.2 Basic C Data Types
5.3 C Looping Structures
5.4 Register Allocation
5.5 Function Calls
5.6 Pointer Aliasing
5.7 Structure Arrangement
5.9 Unaligned Data and Endianness
5.11 Floating Point
- No. of pages:
- © 2004
25th March 2004
- Print ISBN:
- Electronic ISBN:
"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 ill