Synopses & Reviews
Over 90% of mobiles phones sold over the last few years use ARM-based processors. Radically different from anything found in the current PC world, they provide huge number-crunching capabilities while consuming very little energy, making them perfect for the mobile world. However, newcomers to the field of embedded systems can be submerged by technical details and frightening component documentation. This book gently eases developers into the world of embedded ARM development by clearly explaining the different systems common to every ARM processor, and guides the user step by step to through a first embedded application. Professional Embedded ARM Development covers the basics of ARM embedded development, including a brief tour of the processors, the programming language used by the processor, and numerous programming examples. - History – A brief tour of the history of Acorn (ARM), what they used to use, why they created a new processor and where they stand today.
- Requirements – Some tools are required for developing on ARM systems, including boards, software and references, which I list extensively depending on the type of project the user wishes to embark upon.
- Assembly – Whatever language to program in, sooner or later it is converted to assembly language, and understanding it is crucial to debugging and low-level system programming
- C optimizations – Knowing assembly is important, but new projects will probably be written in C, and there are numerous optimizations that can be done to ensure fast code, getting the most out of an ARM processor
- Examples – No technical book can be complete without a Hello, World! Application, and I include a basic example, and slowly build on that example using either an ARM board, or a freeware application to simulate an ARM system
This book gently eases developers into the world of embedded ARM development by clearly explaining the different systems common to every ARM processor, and guides the user step by step to his very first embedded application. |
Synopsis
A practical Wrox guide to ARM programming for mobile devicesWith more than 90 percent of mobile phones sold in recent years using ARM-based processors, developers are eager to master this embedded technology. If you know the basics of C programming, this guide will ease you into the world of embedded ARM technology. With clear explanations of the systems common to all ARM processors and step-by-step instructions for creating an embedded application, it prepares you for this popular specialty.
While ARM technology is not new, existing books on the topic predate the current explosive growth of mobile devices using ARM and don't cover these all-important aspects. Newcomers to embedded technology will find this guide approachable and easy to understand.
- Covers the tools required, assembly and debugging techniques, C optimizations, and more
- Lists the tools needed for various types of projects and explores the details of the assembly language
- Examines the optimizations that can be made to ensure fast code
- Provides step-by-step instructions for a basic application and shows how to build upon it
Professional Embedded ARM Development prepares you to enter this exciting and in-demand programming field.
Synopsis
Launch into the world of embedded systems developmentWhether it's an iPad, Surface tablet, iPhone or Nintendo DS, ARM is the microprocessor technology that helps run them all. These ARM-based processors offer powerful number-crunching capabilities while using very little energy, making them perfect for mobile devices. This guide gets you started in the world of embedded ARM development, walking you through the different systems common to every ARM processor. It explores the basics of ARM embedded development, including a brief tour of the processors, the programming language used by the processor, and numerous programming examples. Following its step-by-step details, you'll quickly create your first embedded application.
Professional Embedded ARM Development:
- Eases you into the world of embedded ARM development by clearly explaining the different systems common to every ARM processor
- Examines the tools required for developing on ARM systems, including boards, software, and references
- Gets you up to speed on the assembly language so you can begin low-level system programming and debugging
- Shows how to perform optimizations to ensure fast code to get the most out of an ARM processor
Wrox Professional guides are written by working developers to address everyday needs. They provide examples, practical solutions, and expert education in new technologies, all designed to help programmers do a better job.
About the Author
James A. Langbridge is an R&D Engineering consultant. In his role as an embedded systems consultant, he helps people and companies develop ARM-based systems and optimize code. He has been working in embedded systems for over 10 years in the aviation, defense, industry, and telecom sectors. His expertise includes bootloader coding, system initialization, and code optimization.
Table of Contents
INTRODUCTION xxiPART I: ARM SYSTEMS AND DEVELOPMENTCHAPTER 1: THE HISTORY OF ARM 3
CHAPTER 2: ARM EMBEDDED SYSTEMS 13
CHAPTER 3: ARM ARCHITECTURE 29
CHAPTER 4: ARM ASSEMBLY LANGUAGE 53
CHAPTER 5: FIRST STEPS 73
CHAPTER 6: THUMB INSTRUCTION SET 107
CHAPTER 7: ASSEMBLY INSTRUCTIONS 121
CHAPTER 8: NEON 145
CHAPTER 9: DEBUGGING 159
CHAPTER 10: WRITING OPTIMIZED C 175
APPENDIX A: TERMINOLOGY 193
APPENDIX B: ARM ARCHITECTURE VERSIONS 199
APPENDIX C: ARM CORE VERSIONS 205
APPENDIX D: NEON INTRINSICS AND INSTRUCTIONS 215
APPENDIX E: ASSEMBLY INSTRUCTIONS 221
INDEX 247