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
• 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 CodeWarrior USB
and Ethernet TAPs. The CodeWarrior
debugger is fully integrated with these
hardware probes, 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
CodeWarrior Build Tools (Compiler,
Assembler, Linker)
The CodeWarrior 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
• 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)
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