core/com.nokia.carbide.cpp.doc.user/html/concepts/arm_registers.htm
author timkelly
Fri, 27 Mar 2009 10:47:09 -0500
changeset 17 71c0485f97c2
parent 2 d760517a8095
child 1225 a546534a48de
child 1248 d4fee22b8cbb
permissions -rw-r--r--
new image for CDK
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
cawthron
parents:
diff changeset
     1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
cawthron
parents:
diff changeset
     2
<html>
cawthron
parents:
diff changeset
     3
<head>
cawthron
parents:
diff changeset
     4
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
cawthron
parents:
diff changeset
     5
<meta http-equiv="Content-Style-Type" content="text/css" />
cawthron
parents:
diff changeset
     6
<meta name="LASTUPDATED" content="06/17/05 11:09:43" />
cawthron
parents:
diff changeset
     7
<title>ARM Registers</title>
cawthron
parents:
diff changeset
     8
<link rel="StyleSheet" href="../../book.css" type="text/css"/>
cawthron
parents:
diff changeset
     9
</head>
cawthron
parents:
diff changeset
    10
<body bgcolor="#FFFFFF">
cawthron
parents:
diff changeset
    11
<h2>ARM Registers</h2>
cawthron
parents:
diff changeset
    12
<p>  Registers are the register contents of the central processing unit (CPU) of the targeted device. When debugging projects on a device, only the target device registers are visible, for example the ARM registers. The ARM microprocessor has 16 general-purpose registers. THUMB has eight general-purpose registers, R0-R7, and access to the high registers, R8-R15. Note that registers R0 through R3 hold the first four words of incoming arguments. The microprocessor constructs remaining arguments in the calling function's argument build area, which does not provide space into which R0 through R3 can be spilled.</p>
cawthron
parents:
diff changeset
    13
<p>Three registers are best left for special uses. These are:</p>
cawthron
parents:
diff changeset
    14
<ul>
cawthron
parents:
diff changeset
    15
  <li>R13 for stack operations</li>
cawthron
parents:
diff changeset
    16
  <li>R14 is the link register (it is used for storing return addresses in the construction of sub routines)</li>
cawthron
parents:
diff changeset
    17
  <li>R15 is the program counter (PC)</li>
cawthron
parents:
diff changeset
    18
</ul>
cawthron
parents:
diff changeset
    19
<p>In most cases, the contents of all the registers can be modified. However,  when debugging applications on a target device with Application TRK, you cannot change the LR, SP, and CPSR registers.</p>
cawthron
parents:
diff changeset
    20
<p class="note"><b>NOTE</b> When opening the Registers view, the list of available registers will vary depending upon the target devices being debugged. </p>
cawthron
parents:
diff changeset
    21
<p align="center"><img src="images/ARM_registers.PNG" width="648" height="276" /></p>
cawthron
parents:
diff changeset
    22
<p align="left" class="figure">Figure 1 - ARM Registers </p>
cawthron
parents:
diff changeset
    23
<h5>Related concepts <b></b></h5>
cawthron
parents:
diff changeset
    24
<ul>
cawthron
parents:
diff changeset
    25
  <li><a href="registers.htm">Emulator  Registers </a></li>
cawthron
parents:
diff changeset
    26
</ul>
cawthron
parents:
diff changeset
    27
<h5>Related tasks</h5>
cawthron
parents:
diff changeset
    28
<ul>
cawthron
parents:
diff changeset
    29
      <li><a href="../tasks/registers/mem_reg_open_wnd.htm">Opening Register View</a></li>
cawthron
parents:
diff changeset
    30
      <li><a href="../tasks/registers/mem_reg_changing.htm">Changing Register Values</a></li>
cawthron
parents:
diff changeset
    31
</ul>
cawthron
parents:
diff changeset
    32
    <h5>Related references <b></b></h5>
cawthron
parents:
diff changeset
    33
<ul>
cawthron
parents:
diff changeset
    34
  <li><a href="../reference/view_registers.htm">View  Registers</a></li>
cawthron
parents:
diff changeset
    35
</ul>
cawthron
parents:
diff changeset
    36
<div id="footer">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. <br>License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a></div>
cawthron
parents:
diff changeset
    37
cawthron
parents:
diff changeset
    38
</body>
cawthron
parents:
diff changeset
    39
</html>