Prelab3_ADSBasics_Embedded

Prelab3_ADSBasics_Embedded - Electronics System Level Based...

Info iconThis preview shows pages 1–4. Sign up to view the full content.

View Full Document Right Arrow Icon
Electronics System Level Based Design Spring, 2006 PreLab3: Code Development with ARM Developer Suite (ADS)
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
1 Introduction This lab guides you on how to create an ARM application using ARM Developer Suite (ADS). In addition, this lab also instructs you on debugging using ADS. At the end, you will learn to write embedded programs for a predefined platform. Objectives ± To be able to develop ARM programs on ADS ± To be able to debug on ADS ± To be able to develop embedded ARM programs for a platform Background ARM Developer Suite (ADS) ARM Developer Suite (ADS) is a tool set for developing ARM programs. ADS includes CodeWarriorIDE, ARM symbolic debugger, AXD GUI debugger, and miscellaneous utilities. The CodeWarriorIDE incorporates ARM assembler, compilers, and linkers. This IDE provides and integrated GUI program development environment. The ARM symbolic debugger (armsd) is a simple debugger which is also available on the workstation. The AXD is a GUI program debugger which can help program designer during the development of the code(not available on our workstation). ARM Architecture Overview ARM processor core adopts RISC instruction set with conditional execution. The instruction set in ARM can be further divided into ARM instruction set and Thumb instruction set. ARM instruction set is a 32-bit instruction set, while Thumb instruction set is a 16-bit instruction set. ARM proposed these two different length instruction sets to reduce code size, which is important in embedded system. For ARM 9 to 11, the processor cores adopt Harvard architecture (separate instruction and data). In an ARM core, there are 16, 32-bit integer registers (Table 1) visible to the ARM and Thumb instruction sets. These are labeled r0-r15 or R0-R15. The first four registers r0-r3 are used to pass parameter values into a routine and result values out of a routine, and to hold intermediate values within a routine (but, in general, only between subroutine calls). In ARM-state, register r12 —also called IP —can also be used to hold intermediate values between subroutine calls. Typically, the registers from r4 to r11 are used to hold the values of a routine’s local variables. They are also labeled v1-v8. Only v1-v4 can be used uniformly by the whole Thumb instruction set. In all variants of the procedure call standard, registers r12-r15 have special roles. In these roles they are labeled IP , SP , LR and PC .
Background image of page 2
2 Table 1. Machine registers. ARM Embedded software Developing embedded software is different from just writing a regular program. Embedded program must be aware of the memory map on the target hardware platform. This is because the embedded program must be able to start working from boot up to shut down. In the lab’s example, the low-level boot up and shut down code is written in an
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 4
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 26

Prelab3_ADSBasics_Embedded - Electronics System Level Based...

This preview shows document pages 1 - 4. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online