RealView Compilation Tools Developer Guide - ARM Information ...
RealView Compilation Tools Developer Guide - ARM Information ...
RealView Compilation Tools Developer Guide - ARM Information ...
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