• Highly efficient C/C++ compiler with
cutting-edge optimization technology for
fast, compact code
°Complete control of code and data mem-
ory allocation
°Options to pack or byte-swap structures
to match existing data types
°Supports position independent code
(PIC) and position independent data (PID)
Flexibility
• Show the state of individual kernel threads
• Source files can be modified while
debugging
• Both 2.6.x and 2.4.x Linux kernels are
supported
• Examples available showing debugging
applications and kernel modules
Visibility — Graphical Views of:
• “Always on” stack crawl and local variables
• Breakpoints—hardware and software
• Advanced Process Management and
Display — View Linux target processes
including those at the kernel level, and
individual process parameters such as
status, command line executable,
environment variables and memory maps.
Product Features
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.
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.
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. Support is
provided for hundreds of popular flash
memory devices.
Search Engine and Text Editor
Fast, semantic code navigation makes it
possible to 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 vari-
able change over time
°Script Point–Runs a script or application
°Skip Point–Skips execution of a line of
source code
• 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
• 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 when using
the CodeWarrior Compiler
• 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