Datasheet
Differences
2-14 Copyright © 1999-2001 ARM Limited. All rights reserved. ARM DUI 0064D
• Reliably examine the contents of variables. Where the value of a variable is
unavailable, it is described as such in the debugger.
• Reliably set watchpoints on local variables.
• Set breakpoints on closing parentheses to functions.
• Set breakpoints on multiple statements on the same source line.
Note
The debug view is dependent on the optimization level selected. In addition, there are
some restrictions to the debug view for ADW/ADU and armsd.
Improved support for debugging third party images
AXD can now load and, with limitations, debug ELF/DWARF images built with the
GNU toolchain. The following restrictions apply to using AXD with gcc 2.95.2 and
binutils 2.10:
• Binutils does not set the ELF flag to indicate that an entry point has been set. You
must manually set the PC to the entry point for the image. This is commonly
0x00008000
or
0x0
.
• Binutils does not generate the ARM mapping symbols that distinguish between
ARM code (
$a
), Thumb code (
$t
), and data (
$d
). This means that:
— You must manually select the disassembly mode in the disassembly
window.
— Interleaved source and code is not disassembled. It is treated as word-sized
data.
— You cannot single step, because AXD cannot determine whether to set an
ARM breakpoint or a Thumb breakpoint.
Note
You can manually set an ARM breakpoint, however the debugger requests
that you confirm the action because it interprets the code as being a literal
pool.
You can manually add a mapping symbol to mark ARM or Thumb state code by
linking the following assembly language at the start of your image. If you are
using the ARM assembler:
CODE32 ; or CODE16 for Thumb
AREA ||.text||, CODE, READONLY
NOP
END
If you are using the GNU assembler: