Datasheet
Differences
2-16 Copyright © 1999-2001 ARM Limited. All rights reserved. ARM DUI 0064D
Code size improvements and improved optimization
ADS 1.1 optimization improvements have improved code density for compiled code
over ADS 1.0.1. A number of additional optimizations have been introduced. In
particular the compilers now reorder top-level data items when this will save space. For
example, if the following global variables are defined:
char a = 0x11;
short b = 0x2222;
char c = 0x33;
int d = 0x44444444;
the ADS 1.1 compilers optimizes the order and stores them in memory as:
char a;
char c;
short b;
int d;
Impact
You cannot rely on the order of global variables in memory being the same as the order
in which they are declared. If, for example, you have used a sequence of volatile global
variables to map peripheral registers, you must rewrite your code to use structures. Use
the
-Ono_data_reorder
compiler option to disable this optimization.
Extensions to RDI support
AXD supports the following extensions to RDI 1.5.1:
• real-time extensions, required for RealMonitor (RDI 1.5.1rt)
• trace extensions required for Trace support (RDI 1.5.1tx)
• self-describing module extensions, required to support self-describing targets
(RDI 1.5.1sdm).
Support for RealMonitor
RealMonitor is the ARM real-time debug solution. AXD has been enhanced to provide
support for RealMonitor. AXD can now connect to a running target without halting the
processor. RealMonitor requires the real-time extensions to RDI 1.5.1. In addition, the
Gateway DLL now supports RealMonitor.
Support for self-describing modules
Self-describing modules are an extension to RDI 1.5.1 that enable a target to describe
its capabilities and requirements to a debugger that supports RDI 1.5.1sdm. AXD
supports RDI 1.5.1sdm, and can modify its interface to suit the target to which it is