ARM System Developer's Guide (inbunden)
Fler böcker inom
Format
Inbunden (Hardback)
Språk
Engelska
Antal sidor
704
Utgivningsdatum
2004-05-01
Upplaga
New
Förlag
Morgan Kaufmann
Medarbetare
Symes, Dominic / Wright, Chris
Illustrationer
illustrations
Dimensioner
240 x 195 x 40 mm
Vikt
1580 g
Antal komponenter
1
Komponenter
Contains 1 Paperback / softback and 1 Hardback
ISSN
15459888
ISBN
9781558608740

ARM System Developer's Guide

Designing and Optimizing System Software

Inbunden,  Engelska, 2004-05-01
920
  • Skickas från oss inom 10-15 vardagar.
  • Fri frakt över 249 kr för privatkunder i Sverige.
Finns även som
Visa alla 1 format & utgåvor
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.
Visa hela texten

Passar bra ihop

  1. ARM System Developer's Guide
  2. +
  3. Co-Intelligence

De som köpt den här boken har ofta också köpt Co-Intelligence av Ethan Mollick (häftad).

Köp båda 2 för 1110 kr

Kundrecensioner

Har du läst boken? Sätt ditt betyg »

Recensioner i media

"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

Övrig information

By Andrew Sloss, Dominic Symes and Chris Wright

Innehållsförteckning

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 1.5 Summary 2 ARM Processor Fundamentals2.1 Registers 2.2 Current Program Status Register2.3 Pipeline2.4 Exceptions, Interrupts, and the Vector Table 2.5 Core Extensions2.6 Architecture Revisions 2.7 ARM Processor Families2.8 Summary3 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 3.9 Summary4 Introduction to the Thumb Instruction Set4.1 Thumb Register Usage4.2 ARM-Thumb Interworking4.3 Other Branch Instructions4.4 Data Processing Instructions4.5 Single-Register Load-Store Instructions4.6 Multiple-Register Load-Store Instructions4.7 Stack Instructions4.8 Software Interrupt Instruction4.9 Summary5 Efficient C Programming5.1 Overview of C Compilers and Optimization 5.2 Basic C Data Types5.3 C Looping Structures 5.4 Register Allocation5.5 Function Calls5.6 Pointer Aliasing5.7 Structure Arrangement5.8 Bit-fields5.9 Unaligned Data and Endianness5.10 Division5.11 Floating Point5.12 Inline Functions and Inline Assembly5.13 Portability Issues5.14 Summary6 Writing and Optimizing ARM Assembly Code6.1 Writing Assembly Code 6.2 Profiling and Cycle Counting 6.3 Instruction Scheduling6.4 Register Allocation 6.5 Conditional Execution 6.6 Looping Constructs 6.7 Bit Manipulation 6.8 Efficient Switches6.9 Handling Unaligned Data6.10 Summary 7 Optimized Primitives 7.1 Double-Precision Integer Multiplication 7.2 Integer Normalization and Count Leading Zeros7.3 Division 7.4 Square Roots 7.5 Transcendental Functions: log, exp, sin, cos 7.6 Endian Reversal and Bit Operations7.7 Saturated and Rounded Arithmetic7.8 Random Number Generation7.9 Summary 8 Digital Signal Processing 8.1 Representing a Digital Signal8.2 Introduction to DSP on the ARM8.3 FIR filters8.4 IIR Filters 8.5 The Discrete Fourier Transform8.6 Summary9 Exception and Interruput Handling9.1 Exception Handling9.2 Interrupts9.3 Interrupt Handling Schemes9.4 Summary10 Firmware 10.1 Firmware and Bootloader 10.2 Example: Sandstone 10.3 Summary 11 Embedded Operating Systems 11.1 Fundamental Components 11.2 Example: Simple Little Operating System 11.3 Summary 12 Caches 12.1 The Memory Hierarchy and Cache Memory 12.2 Cache Architecture 12.3 Cache Policy 12.4 Coprocessor 15 and Caches 12.5 Flushing and Cleaning Cache Memory 12.6 Cache Lockdown 12.7 Caches and Software Performance 12.8 Summary 13 Memory Protection Units 13.1 Protected Regions 13.2 Initializing the MPU, Caches, and Write Buffer 13.3 Demonstration of an MPU system 13.4 Summary 14 Memory Management Units 14.1 Moving from an MPU to an MMU 14.2 How Virtual Memory Works 14.3 Details of the ARM MMU 14.4 Page Tables 14.5 The Translation Lookaside Buffer 14.6 Domains and Memory A...