Software Development Tools
CodeWarrior
™
Development Studio
MPC5xx Edition, v8.1
Building complex applications on the Freescale™
MPC5xx family of processors may have never
been this easy. With powerful tools to simplify the
development cycle, from board bring-up to code
development and testing, the CodeWarrior™
Development Studio, MPC5xx Edition provides the
essential tools for developing sophisticated
applications. As an integral part of Freescale, our
unique knowledge of silicon ensures that our tools
help you take advantage of the powerful features
of the MPC500 family of processors. CodeWarrior
Development Studio tightly integrates powerful
components such as hardware diagnostics tools, a
sophisticated code editor and search engine,
highly efficient C/C++ compiler and linker,
feature-rich debugger, an instruction set simulator
and more. Together, they provide maximum control
to the embedded developer with the simplicity of
an intuitive integrated development environment.
Board Bring-Up
The CodeWarrior debugger provides complete
control over all board settings, including
initializing and saving register values and memory
configuration. The debugger also includes a
comprehensive set of hardware diagnostics and
robust flash programming algorithms supporting
an extensive list of flash devices.
find specific code structures among hundreds of
directories and files quickly and easily. Seamless
integration between the CodeWarrior search
engine and the text editor allows code changes to
reflect immediately in the browser without
recompiling.
CodeWarrior Debugger
The CodeWarrior debugger packs a wide array of
high-powered features designed to help the
developer find and repair software defects quickly,
while providing maximum control to debug
complex hardware and software issues including:
> User-configurable workspaces: Focus on
complex debugging tasks, each workspace
contains just the set of views needed for the
task at hand
> Hardware and unlimited software breakpoints
> Eventpoints: Perform a specified task when the
program executes a specific line of source
code or when an associated conditional
expression evaluates to true. Set an eventpoint
to perform a task (i.e., run a script, play a sound
or collect trace data) for superior control over
your code execution. Eventpoints can be:
• Log Point–Logs a string or expression to a file
and records messages to the Log window
• Pause Point–Pauses execution to refresh
debugger data–great for watching a
variable change over time
• Script Point–Runs a script or application
• Skip Point–Skips execution of a line of
source code
• Sound Point–Plays a sound
• Trace Collection Off–Stops collecting trace
data for the Trace window
• Trace Collection On–Starts collecting trace
data for the Trace window
Continued >
Hardware Diagnostics
The CodeWarrior Development Studio comes
with diagnostics tests that determine if the basic
hardware is functional. These tests include:
> Memory read/write: Perform diagnostic tests
by writing and reading memory through a
connecting probe
> Scope loop: Repeat memory reads and writes
through a connecting probe
> Memory tests: Perform different tests on the
hardware including:
• Walking ones test
• Address test
• Bus noise test
Specify any combination of the tests and the
number of passes. Results are displayed in a log
window after all passes are complete.
Highlights
> Highly efficient C/C++ compiler with
cutting-edge optimization technology for fast,
compact code
• Complete control of code and data
memory allocation
• Options to pack or byte-swap structures
to match existing data types
• Supports position independent code (PIC)
and position independent data (PID)
> Built-in software profiler for hot-spot analysis
> Industry-leading debugger with integrated
logic analyzer interface
> Integrated hardware diagnostics for board-
level testing
> Faster, more intuitive flash programming
supporting the latest devices
> File I/O for bare board applications (no OS)
> RTOS kernel aware debugger
> Out-of-the-box code templates (stationery)
for popular AMD™/AXIOM boards
Flash Programming
Program on-chip and off-chip flash devices from
within the same graphical user interface used to
troubleshoot the application. No boot code is
required to run on the target system in order to
use the programming features of the
CodeWarrior flash programmer. The leading flash
devices for the MPC500 family of processors are
supported out-of-the-box.
Search Engine and Text Editor
Industry observers estimate that software
developers spend nearly half their time searching
for basic information buried in application code.
Not with CodeWarrior Development Studio. Fast,
semantic code navigation makes it possible to
CodeWarrior Development Studio MPC5xx Edition, v8
> Watchpoints: Set a watchpoint at a location in
memory to halt program execution when that
point in memory changes value or, for some
devices, when the memory location is
accessed. Then examine the call chain, check
register and variable values, and step through
your code
> Special breakpoints: Halt program execution for
specific reasons (for instance a C++ or Java™
exception).
> Single-stepping: Step Into, Step Over and
Step Out of functions
> Variable view on mouse over: When in the
debugger, you can mouse over a variable in the
source display and get the current value of that
variable
> Display stack trace: The “Call Stack” view
provides an easy display of all procedures
(functions) active in the calling chain and
enables the developer to follow the progress of
a program through its hierarchical call structure
> Local variables display: View the variables local
to the current function
> Memory view: Display and modify the contents
of the target’s memory. Quickly find a value in
memory, compare memory regions or upload
and download memory to a file using this view
> Register view: View extensive information on
CPU core and peripheral registers, as well as
user-defined registers. The registers displayed
can also include bit-level details for an English-
language equivalent of register contents
> Object file format: The CodeWarrior debugger
supports STABS and ELF/DWARF formats
> Mixed language debugging: The CodeWarrior
debugger supports mixed language debugging
in C, C++ and Assembly language by
automatically analyzing the file in view and
adjusting the expression evaluation and data
display accordingly
> Profile window: Improve the performance of
your code by using the built-in profiler to
analyze function performance
> Command-line window: Use the command-line
interface together with various scripting
engines, such as the Microsoft
®
Visual Basic
®
,
the Java, TCL, Python and Perl to automate
testing, standardize data-logging or uncover
that hard-to-find problem
> Seamless integration with target connection
probes: The CodeWarrior debugger is fully
integrated with several run-control probes from
Abatron, P&E Microcomputer Systems and
others, resulting in optimized run-control with
fast downloads. A target connection wizard
simplifies and automates the task of defining
new connection definitions based on hardware
and communication parameters
> Logic analyzer integration: Quickly and
accurately determine the root cause of even the
most difficult hardware, software and system
integration problems by utilizing the
CodeWarrior debugger in concert with a logic
analyzer (Agilent Technologies). Seamlessly
integrated into the debugger is logic analyzer
communications with the ability to:
• Trace On/Off
• Trace Everything
• Trace History
• Start trace based on specified address
• Start trace on address range
• Trace all in address range
• Breakpoint on trigger
• Trigger tracing on breakpoint
Assembler: full-featured macro assembler that is
invoked automatically by the project manager or
as a complete standalone assembler for
generating object modules
Linker: offers precise control over the
allocation, placement and alignment of code
and data in memory
Libraries—the Standard Libraries are
included
> Complete C++ library (STL)
> Complete, reentrant C libraries compliant with
ANSI/ISO, POSIX
®
and SVID standards
> Multi-threading
> Full complement of math libraries, including
IEEE-754 appendix functions
> Efficient floating-point libraries for fast
execution of calculations
Profiler: profiling options contained in the compiler
instrument application code, which when
executed save profile information that can be
viewed by the profiler utility. This profile data
can also be automatically sent to the compiler
for additional code optimization based on
execution paths.
CodeWarrior Build Tools (Compiler,
Assembler, Linker)
CodeWarrior III compiler produces exceptionally
fast, compact, EABI-compliant object code. Our
proprietary optimization techniques enable the
programmer to balance execution speed with
code size while intelligent defaults can generate
optimal code.
Key Features Include
Third-Party Tools Support Through Plug-Ins
The CodeWarrior Development Studio provides
out-of-the-box support for multiple third-party tools
such as configuration management systems, code
editors and more. Extend the IDE using the scripts
to include new features or to upgrade/replace
existing features. Users and third-parties can
develop custom plug-ins to create a new
preference panel or integrate custom operating
system awareness into the environment.
CodeWarrior tools provide out-of-the-box support
for popular configuration management systems
such as ClearCase, CVS and more.
> Compatibility with the latest ANSI C++ specs
(ISO/IEC14882:1998E) and the ANSI C spec
(X3.159-1989)
> Standards conformance (ANSI and EABI) for
maximum tool interoperability
> Complete control of code and data memory
allocation
> Options to pack or byte-swap structures to
match existing data types
> Supports position independent code (PIC) and
data (PID)
> Board support routines for bare board
applications (no OS)
Supported hosts
> Windows
®
XP/2000/Windows NT
®
4.0 +
SP5 and above
Supported Targets
> All members of the MPC500 family of
processors
Learn More:
For more information about Freescale products, please visit
www.freescale.com/codewarrior
FREESCALE and the FREESCALE logo are trademarks of Freescale Semiconductor, Inc. CODEWARRIOR and
the CODEWARRIOR logo are trademarks of Metrowerks Corp. All other product or service names are the
property of their respective owners.
© Freescale Semiconductor, Inc. 2005. © Metrowerks Corp. 2005. Metrowerks is a Freescale company.
ALL RIGHTS RESERVED.
950-00061
REV A