Professional Embedded ARM Development

Professional Embedded ARM Development

James A. Langbridge

Language: English

Pages: 285

ISBN: 111878894X

Format: PDF / Kindle (mobi) / ePub


A practical Wrox guide to ARM programming for mobile devices

With 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.

Windows PowerShell for Developers

The Functional Approach to Programming

The Pragmatic Programmer: From Journeyman to Master

Spring in Practice

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

their usage, and their effect. TABLE E-3: Parallel Arithmetic Instructions Movement Movement instructions take data from one register before moving it to a second register, optionally negating the data first. Movement instructions can also place data into registers from operands. These instructions are listed in Table E-4. TABLE E-4: Movement Instructions The MSR instruction uses a field parameter that specifies the SPSR or CPSR fields to be moved. They are listed in Table E-5. TABLE

exist, each with their strong points. Linux Linux has been ported to just about any MMU-enabled processor that exists and has been used on ARM systems for decades. Linux has a huge user base, and the possibility of compiling a home-kernel is a major advantage for embedded systems. You can leave out large sections of the kernel for hardware that you do not need and leave in only the strict minimum. When adding new hardware, there are lots of resources necessary for adding drivers, and it is

to, as is sometimes the case when returning from a branch instruction, modifying the address of the next instruction to be executed. There is, however, a trick. Although technically the PC holds the address of the next instruction to be loaded, in reality it holds the location of the next instruction to be loaded into the pipeline, which is the address of the currently executing instruction plus two instructions. In ARM state, this is 8 bytes ahead, and in Thumb state it is 4 bytes. Most

number from a sensor and to do a few calculations on that number to output a chart. There were three ways we could access the information, but one of them wouldn’t work. We got a completely incoherent value, every time. The other two worked fine, so we knew that the sensor was working correctly, but these two ways were not available everywhere in our code. In one particular place, we had no choice but to use the third way. It didn’t take us long to use a debugger, a Lauterbach Trace32. We were

processors go faster and faster, it isn’t a reason to use up valuable cycles. In total, optimization saved 112μs, a reduction of 81 percent. However, to achieve this result, several optimization cycles were performed. The code was profiled, then optimized, and then tested, repeating the cycle. Optimization can be a long procedure, testing multiple theories, possibly keeping the results, or reverting to the previous configuration. The cycle is illustrated in Figure 10-1. FIGURE 10-1:

Download sample

Download

About admin