14.01.2015 Views

RealView Compilation Tools Developer Guide - ARM Information ...

RealView Compilation Tools Developer Guide - ARM Information ...

RealView Compilation Tools Developer Guide - ARM Information ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Embedded Software Development<br />

2.1 About embedded software development<br />

Most embedded applications are initially developed in a prototype environment with<br />

resources that differ from those available in the final product. Therefore, it is important<br />

to consider the processes involved in moving an embedded application from one that<br />

relies on the facilities of the development or debugging environment to a system that<br />

runs standalone on target hardware.<br />

When developing embedded software using RVCT, you must consider the following:<br />

• How the C library uses hardware.<br />

• Some C library functionality executes by using debug environment resources. If<br />

used, you must re-implement this functionality to make use of target hardware.<br />

• RVCT has no inherent knowledge of the memory map of any given target. You<br />

must tailor the image memory map to the memory layout of the target hardware.<br />

• An embedded application must perform some initialization before the main<br />

application can be run. A complete initialization sequence requires code that you<br />

implement in addition to RVCT C library initialization routines.<br />

2.1.1 Example code<br />

To illustrate the topics covered in this chapter, associated example projects are provided.<br />

The code for the Dhrystone builds described in this chapter is in the main examples<br />

directory, in ...\emb_sw_dev. Each build is in a separate directory, and provides an<br />

example of the techniques described in successive sections of this chapter. Specific<br />

information regarding each build can be found in:<br />

• Example code for Build 1 on page 2-11<br />

• Example code for Build 2 on page 2-14<br />

• Example code for Build 3 on page 2-22<br />

• Example code for Build 4 on page 2-34<br />

• Example code for Build 5 on page 2-37.<br />

The Dhrystone benchmarking program provides the code base for the example projects.<br />

Dhrystone was chosen because it enables many of the concepts described in this chapter<br />

to be illustrated.<br />

The example projects are tailored to run on the <strong>ARM</strong> ® Integrator development<br />

platform. However, the principles illustrated by the examples apply to any target<br />

hardware.<br />

2-2 Copyright © 2002-2007 <strong>ARM</strong> Limited. All rights reserved. <strong>ARM</strong> DUI 0203H<br />

Non-Confidential

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

Saved successfully!

Ooh no, something went wrong!