Universal Debug Engine - High Level Language Debugger Tool
UDE - Universal Debug Engine - is the state-of-the-art development workbench for application development with the
C166,
C166CBC,
C166S V2, ST10,
XC166,
XC2000, XE166,
TriCore, PowerPC, ST30,
STR7,
ARM7,
ARM9, ARM11 and
XScale microcontrollers family. With UDE you can organize your projects, it supports you while building
applications and you can run and test your software in a convenient and
cost-efficient way.
UDE stands quintessentially for new debugger architecture and tool
concept based on a customizable set of standard components and core
specific add-ons. It offers a collection of tools including source file management, project building and powerful HLL debugger with various high-speed communication paths to the customer's hardware target system with target monitor. All components work together in an optimized manner. UDE as a part of the package is a powerful HLL debugger to test microcontroller applications created in C/C++ language and/or Assembly. Together with the Universal Access Device, the communication add-on of UDE and the possible used target monitor it offers realtime execution between breakpoints on the customer's target system.
The profit is on you when using the Integrated Development Environment with integrated tools. There is just one Graphical User Interface for Development, Debugging and Emulation. Multiple high-speed interfaces allow a very flexible target system access. The Universal Debug Engine is an open platform offering different interfaces to other tools. Optionally, it can be feature-enhanced by the following components that can be included into the workbench:
- Evaluation Boards from different vendors for a quick start with new C166, ST10, XC166, XC2000, XE166, TriCore, PowerPC, ARM7, ARM9, ARM11 and XScale derivatives.
- Portable Monitor Development Kit to use the UDE debugger on any application specific hardware.
- CASE Tool with interface to debugger Universal Debug Engine supporting Enhanced Nassi-Shneidermann-Charts - a great help for reengineering, maintenance and program documentation.
- Real-Time Operating Systems with detailed support within the debugger Universal Debug Engine to use reliable software components for standard programming tasks.
UDE runs under Windows 2000,
Windows XP and Windows Vista.
User Definable EnhancementsBeing
an integrated part of UDE, the open interface for User Definable
Enhancements enables you to easily create completely new types of
applications: - HTML Scripts based on standard UDE ActiveX
Control and customer-specific controls together with PERL and JAVA
scripts provide fully customized hardware visualization and control.
- The
Automation Interfaces of the UDE components even allow using basic UDE
services for controlling the debugger and processing target
communication, program flow control and symbol processing by external
C/C++, VisualBasic and VBA applications.
- Substitution of the
standard UDE desktop client by a customized desktop to fit the
requirements of service tools, Matlab or another third-party tool
integration by using the COM interface.
Unrivalled Flexible Target System Access - DAP – the 2- or 3-wire debug interface for TriCore AUDO Future and other upcoming devices is supported.
- JTAG OCDS L1 and EmbeddedICE are fully supported by UDE offering direct high-speed access to the MCU's internal units and features like
breakpoints, stepping in ROM/FLASH as well as complex trigger
conditions without any external hardware or software resources.
- OCDS L2 trace and ETM trace support allows the watching of the flow of a running program in realtime within the process environment for core, PCP, PCP2, DMA, if available. ETB trace is supported.
- Target monitor and bootstrap loader solutions for a flexible access via a wide variety of debug channels (ASC, SSC, 3Pin, CAN) are available.
Supported Microcontrollers in detail Our debugging software escorts you either way. Please find the following overview about the different debug solutions and their support. Typical variants for remote debug connection using the debugger Universal Debug Engine regarding the available communication interfaces on the C166, ST10, XC166, XC2000, XE166, TriCore, PowerPC, ARM7, ARM9, ARM11 and XScale MCU hardware: - Infineon 80C166, 83C166, 88C166
- Infineon C161, C163, C164, C165UTAH, C167
- STMicroelectronics ST10R163, ST10F163, ST10R165, ST10F166, ST10R167, ST10F167, ST10F168, ST10F169, ST10R172
- STMicroelectronics ST10F251, ST10F252, ST10F269, ST10R271, ST10R272, ST10R273, ST10F275, ST10F276, ST10F280, ST10F282, ST10F296
- Infineon XC161, XC164, XC167
- Infineon XC2264, XC2267, XC2285, XC2286, XC2287
- Infineon XC2365, XC2387
- Infineon XC2766, XC2786
- Infineon XE164, XE167
- Infineon Vecon, EGOLD
- Micronas SDA6000, SDA6001
- Infineon TC11IB, TC1100, TC1115, TC1130, TC1161, TC1162, TC1163, TC1164, TC1165, TC1166
- Infineon TC1765, TC1766, TC1766ED, TC1775, Infineon TC1796, TC1796ED
- Infineon TC1910, TC1912, TC1920
- AMCC PPC440
- Freescale MPC5514, MPC5516, MPC5517, MPC5533, MPC5534, MPC5553, MPC5554, MPC5561, MPC5565, MPC5566, MPC5568
- Analog Devices ADuC7019, ADuC7020, ADuC7021, ADuC7022, ADuC7024, ADuC7025, ADuC7026, ADuC7027
- Atmel AT91M40, AT91SAM7, AT91FR40162
- Cirrus Logic EP7309, EP7311, EP7312
- Freescale PAC72x1, PAC72x2, MAC71x1, MAC71x2, MAC71x4, MAC71x5, MAC71x6, MAC7241, MAC7242
- NXP LPC2114, LPC2119, LPC2124, LPC2129, LPC2131, LPC2132, LPC2134, LPC2136, LPC2138, LPC2142, LPC2144, LPC2146, LPC2148, LPC2194
- NXP LPC2212, LPC2214, LPC2220, LPC2292, LPC2294
- NXP LPC2364, LPC2366, LPC2368, LPC2378, LPC2387
- NXP LPC2468, LPC2470, LPC2478
- NXP LPC2880, LPC2888
- NetSilicon NS7520
- NetSilicon NET+15, NET+20, NET+40, NET+50
- STMicroelectronics ST30F771, ST30F772, ST30F774
- STMicroelectronics STR710, STR711, STR712, STR720, STR730, STR731, STR750
- TexasInstruments TMS470R1A64, TMS470R1A128, TMS470R1A256, TMS470R1A288, TMS470R1A384
- TexasInstruments TMS470R1B512, TMS470R1B768
- Atmel AT91RM9200
- Atmel AT91SAM9260, AT91SAM9261, AT91SAM9263, AT91SAM9R64, AT91SAM9RL64, AT91SAM9XE128, AT91SAM9XE256, AT91SAM9XE512
- Cirrus Logic EP9301, EP9302, EP9307, EP0312, EP9315
- Freescale IMX27
- Freescale MC9328MX1, MC9328MX21, MC94MX21
- NEC Ertec200, Ertec400
- NetSilicon NS9360, NS9750, NS9775
- NXP LH7A400N0, LH7A404N0
- NXP LPC2915, LPC2917, LPC2919,LPC3180
- STMicroelectronics STR910, STR911, STR912
- TexasInstruments OMAP5912
- Marvell/Intel XScale PXA255, PXA270
- Marvell/Intel IXP420, IXP421, IXP422, IXP423, IXP425, IXP455, IXP460, IXP465
- Freescale i.MX31
- ARM Cortex-M3
Target System CommunicationUDE features various target communication channels: - ASC0/ASC1 asynchronous RS232
- ASC0/ASC1 asynchronous TTL
- ASC0/ASC1 synchronous RS485 (PROFIBUS compatible)
- SSC synchronous RS485
- SSC synchronous TTL
- 3Pin Interface (Software SSC) RS485
- 3Pin Interface (Software SSC) TTL
- 3Pin Interface (Hardware) TTL
- Full Speed CAN
- JTAG, DAP, COP
- ETM, ETB, JTAG OCDS L1 and L2
Please note that the offered communication features depend from your Hardware Communication Device. FLASH/OTP Programming In-System Universal
Debug Engine integrates High-Speed FLASH/OTP Programming Support - UDE
MemTool for internal FLASH/OTP, external FLASH EPROMs (AM29F xxx and
i28F xxx family) and any other JEDEC-compatible FLASH. Compilers For your convenience, UDE supports all of the available C/C++ Compilers: C166/ST10 Compiler - C166/ST10 C/C++ Compiler (Tasking)
- CA166 Compiler (Keil)
- GNU C166/ST10 C/C++ (HighTec)
XC16x Compiler - XC16x C/C++ Compiler (Tasking)
- GNU XC16x C/C++ (HighTec)
TriCore Compiler - TriCore Compiler C/C++ (Tasking)
- GNU TriCore C/C++ (HighTec)
- TriCore C/C++ (Green Hills)
- TriCore C/C++ (Wind River)
ARM Compiler - ARM Compiler /C++ (Tasking)
- CARM Compiler (Keil)
- GNU C/C++ for ARM7/9 (HighTec)
- ADS ARM® Developer Suite (ARM®)
- ImageCraft Compiler (ImageCraft)
UDE Graphical Diagram Display Window  The
UDE graphical display window is a powerful visualization tool, which
helps to accelerate the evaluation of complex target program data from
process environment and by the verification of complex software
algorithms. It can be used with all microcontroller families supported
by UDE. The UDE window displays pre-processed target system data as
curves of a 2-dimensional scientific diagram. This feature makes it
easier to visualize and evaluate target data to accelerate the
verification of complex software algorithms and input from process
environment.
Basic features of the Graphic Display Window: - Multiple curves in one diagram window
- Separate x- and y-axis for each curve
- Flexible calculation of curve data points from target program data with UDE expressions
- Update of data after program hold or with programmable refresh rates during running and stopped target program
- Legend, Cursor, Zoom, Pan, Axis markers
- Save and restore of complex settings in UDE workspace and separate file
- Printer support.
Further
helpful features to evaluate data are the zoom-, pan- and cursor
functions. This functions help to view details of the current curves.
The cursor function makes it easy to access to the particular data
values at specific coordinates of the curve. Triggered Transfer
The UDE TTF Recorder uses the Triggered Transfer feature of new
Infineon microcontrollers. Triggered Transfer is part of the on-chip
debug support implemented on these controllers. It allows transferring
the value of a single memory location via the JTAG debug interface.
The transfer is triggered by a debug event of the onchip debug support
(OCDS) unit. There are several types of debug events that can trigger
the transfer depending on the actual type of controller. A typical use
case provided by all supported controller types is to trigger on write
accesses on a single variable and to transfer the new value of the
variable.
The recording is done while the target system is in running state.
CAN recorder with plug-in for CANopen visualizationThe
UDE CAN recorder tool provides the visualization of CAN bus
communication and can be used as an add-in or as a stand-alone
application. Equipped with the CANopen message formatter plug-in the
CAN recorder can visualize the CANopen communication or a user-defined
CAN-layer-7-protocol.
The recorder can be configured for
filtering and for displaying of symbolic information and can export CAN
message streams to a file. A send bar provides the sending and
stimulating of the CAN bus. CAN baud rates from 50 kbit/s up to 1Mbit/s
and standard / extended CAN identifier are supported.
The UDE
CAN recorder supports a Common Object Model (COM). This feature allows
the usage of UDE CAN recorder as plug-in of user applications as well
as the script-controlled by other applications.
The CANopen
message formatter is a plug-in for the UDE CAN recorder and can
visualize the CANopen communication. The plug-in scans and interprets
DCF-files automatically. This makes data of CANopen networks and CAN
nodes available. If no DCF-file is available the message formatter
interprets all CANopen standard objects corresponding to the default
specification. In other cases the CANopen message formatter handles
an interpretation file for the visualization functionality of the UDE
CAN recorder. This file can be edited and manipulated by the user, for
example for visualization of a user-defined CAN-layer-7-protocol.
CAN Monitoring with On-chip Debug Support and CAN Bootstrap Loader of XC16x and TriCore
Direct debugging via CAN-Bus is provided by means of the On-Chip Debug
System (OCDS) with standardized close connection to the JTAG interface
due to support by the latest software package UDE-mon/LII. The using of
OCDS enables hardware breakpoints for debugging within the FLASH memory
and data breakpoints, which allow for dedicated hold with read or write
access to program variables. With the UDEmon/LII target monitor the
described functions are now available for all members of the XC16 and
TriCore families also via CAN-Bus without limitations. Besides the
extended application capabilities the user also benefits from
substantially reduced system costs, since there is no more specific
adaptation necessary for the user hardware.
The target monitor
requires approximately 16 kByte FLASH memory and 1 kByte RAM for the
TriCore derivatives and approximately 4 kByte FLASH memory and 100 Byte
RAM for members of the XC16x family. Also a message object and a CAN
identifier need to be provided.
A shared utilization of one CAN
module by the application and the target monitor is as easily
implemented as the access to a separate CAN module of TwinCAN or
MultiCAN units of the respective microcontroller. The monitor software
includes the C and assembler text for the various common compiler
packages and can be integrated into existing applications in a simple
way. The usage of the CAN bootstrap loading mechanism is supported by UDE and UDE MemTool. Realtime Data Monitoring and Collection
With UDE it is possible simple program variables, contents of complex
terms and physical terms from multiples of these system variables to
record in realtime and evaluate within the UDE. It is, therefore,
possible to analyze the real-time behaviour of the developed software
and to recognize and repair problems with the distribution of the
processor performance as well as synchronization problems between
multiple parallel running program routines. In order to minimize the
influence of the system behaviour, only debug interfaces are used,
which allow a transparent read-out of the system information in the
background of the active program.
The visualization takes place
by means of a two-dimensional graphical representation of multiple
signals over a common time axis in a curve diagram. All necessary
signal data can be extracted as a result of scanning: values from
individual variables, elements from complex data structures or even via
any complex combination from multiple single data. The option to
compute complex physical values in real-time from program variables
helps the user thereby, as far as possible, to simplify the
interpretation and evaluation of the displayed diagrams.
The
data is pre-processed in the Universal Access Device 2 (UAD2) or
Universal Access Device 2+ (UAD2+), which is connected directly to the
target system. The UAD2 and UAD2+ were also designed by pls
Programmierbare Logik & Systeme and thanks to an inherent 32-bit
controller offer an extremely powerful communication equipment, which
allows that even with complex expressions a minimum sampling period
in the range of 1 millisecond (1 ms) is assured. Following this, the
computed data is buffered in the Universal Access Device. 32 MByte of
main memory ensures that data with up to 30 minutes storage time are
not lost until read-out by the UDE. Furthermore, the data can be stored
in parallel in XML-Format, whereby a subsequent evaluation of the data
via script or another program (e.g. Excel) is possible. An optimal
display of the recorded data is offered by multiple selectable modes
of the viewing window. Moreover, the graphical representation enables
the use of additional functions - such as zoom, data cursor and switch
able function markers - for the examination of details.
Profiling Support
The knowledge of CPU load distribution of the running target
application is a basic requirement to optimize their real-time
behaviour. UDE supports the profiling of code trace data from different
sources: - "IP - Snooping" trace - UAD2+ polls instruction
pointer of TriCore or XC16x CPU periodically with minimum poll period
of 1 millisecond
- OCDS L2 trace / ETM code trace
- MCDS code trace
- ARM SoC-Designer PCP2 simulator trace
The instruction pointer trace data will be collected due their
occurrence in the functions of the application. If the value cannot be
assigned to any known function, it will be assigned to the known code
section of the program (depends from availability of debug information).
The evaluation counts the trace hits of the appropriate ranges and
calculates the execution time of the range due to execution time of the
trace samples. The results are available as chart diagram and as
numeric result table. Additional the UDE profiling page enables, that
the results can be saved in a free selectable XML base data sink for
later processing. This data sink can be processed in a normal MS
Excel 2003 environment or can be processed by Windows Script languages
and MS XML parser function (which are installed by UDE). All functions
to access to the generated profiling data are also available via UDE
object model to allow creating internal and external script for
automatic post-processing.
Automated Testing with TessyThe
test system Tessy from Razorcat offers automated module testing of C
code directly on the target system using Universal Debug Engine (UDE)
debugging technology. It supports the whole unit testing cycle and
works transparently on all target platforms currently supported by UDE.
- Systematic test case design using the classification tree
method: Intuitive, easy to learn graphical representation of test
specifications.
- Quick overview of test objects interface and variable usage within interface browser tools.
- Easy creation of module environment: Definition of unresolved references and all necessary stubs.
- Automatic test driver generation, test execution and evaluation of test results.
- Test
driver in client/server technology allows unlimited number of test
cases and minimum code/data requirements on the target system.
- Powerful
support for regression testing: An interface browser tool shows both
old and changed interfaces and provides comfortable interface
assignment that allows automatic reusage of test data.
- For C166/ ST10 and TriCore target systems Tessy is available with Universal Debug Engine (UDE).
RTOS - Real Time Operation System SupoortCMX SupportThe CMX-RTX™ Real-Time Operating System
(RTOS) is a fully preemptive operating system with a powerful set of
system functions, very moderate memory requirements and fast system
response time. MicroC/OS-II µC/OS-II,
the Real-Time Kernel is a portable, ROMable, scalable, preemptive
real-time, multitasking kernel for microprocessors and
microcontrollers. µC/OS-II can manage up to 63 application tasks.Nucleus SupportUDE features the visualization of the Nucleus
RTOS objects in a clearly arranged and comfortable manner. UDE uses the
debug communication channel for getting of RTOS object data. All other
controller peripheral channels are user available.PXMON Support
PXROS stands
for Portable eXtendable Realtime Operating System. PXROS is a
sophisticated Real-Time Operating System and allows you to design modern, object-oriented
applications with independent tasks and associated handlers for high
priority actions. UDE supports the PXMON Task Level Debugger. OSEK ORTI Support UDE features ORTI,
the OSEK run-time interface of the OSEK operating system regarding the
visualisation of OSEK object information as OS state, performance, task
states etc.
OSE 166 Illuminator Support |
 |
- The new Illuminator communication
mode using the JTAG OCDS L1 interface of C166CBC microcontrollers
supports System Level Debugging within the Illuminator's Run Mode.
- All other communication interfaces of the target system may be used by the OSE application without any restrictions.
- Universal Debug Engine provides fast application downloading and easy FLASH/OTP programming.
- As a sophisticated HLL Debugger, Universal Debug Engine offers all standard features to debug applications at kernel level.
- The
JTAG OCDS bus provides a significant higher communication speed
compared to the standard serial interface. Additionally, no further
hardware resources are required for the debug channel.
|
Graphical Real Time Monitoring Tool with StethoScope
StethoScope is the real-time graphical monitoring tool for Universal Debug Engine
(UDE). StethoScope gives you a window into the very heart of your
application, presenting a live analysis of your program while
preserving real-time performance. You can immediately see the effects
of code changes, parameter changes, or external events. It allows you
to look at any variable or memory location in your system. You can
watch any set of variables, see peak values and glitches you would
otherwise miss, trigger collection on specific events, and save all
your data to disk. With Universal Debug Engine and StethoScope
together, you can make your system work. StethoScope is developed
by Real-Time Innovations, Inc. (RTI). RTI is a leading developer of new
tools for the growing real-time software market. OCDS L2 Instruction TraceHard
real-time debugging requires close interaction with the processor.
Tracing shall provide a chronological picture of a system's inner
workings up to, starting from or in the vicinity an event, mainly to
guide a human in understanding a faulty program. OCDS L2
was defined for this purpose and is available on the TriCore
derivatives. The OCDS L2 unit of the TriCore derivatives supports the
recording of a running program's trace. In combination with the JTAG
OCDS L1 unit a comfortable watching of the program flow in real-time is
possible. UDE, the Universal Debug Engine, supports basically the OCDS
unit by the Universal Access Device add-on. OCDS L2 Instruction Trace
is supported by the Universal Access Device - Trace Board option. MCDS Instruction TraceMCDS support
is an Add-in available for UDE and is used to capture processor states
in real-time using an USB or JTAG connection to the derivative. This
can only be done with the MCDS onchip trace features of special
versions of TriCore TC1796 derivatives. ETM Instruction TraceThe Embedded Trace Macrocell
(ETM) of ARM derivatives is supported by UDE and is used to capture
processor states in real-time using a dedicated connection to the
derivative. The ETM v1.2 is supported via 4/8 bit port width, Halfrate
Clock Mode is supported too. OCDS L2 and MCDS Trace Feature ComparisonThe following table gives an overview about the OCDS L2 and MCDS trace features of the Infineon TriCore microcontrollers.
| Feature list | new MCDS | OCDS L2 | | Supported Chips | TC1796ED, TC1766ED | Any TriCore Derivative | | TriCore Instruction Pointer Trace | yes
| yes | | DMA Trace | yes | yes | | PCP Instruction Pointer Trace | yes | yes | | PCP Channel (Priority) Trace | yes | | | Data Trace, Watch point Trace, Bus Trace | yes | | | TriCore-PCP mixed Instruction Pointer Trace | yes | | | Number of Ranges to be traced simultaneously | 6 ranges | 1 range | | OCDSL1 Trigger Condition | yes | yes | | Sequential Trigger Condition | yes | | | Reference-Clock (USB-Clock) based Time Stamps | yes | | | Time based Trigger Condition | yes | | | Tick based Time Stamps | yes | yes | | Single shot Time Stamps for Time measurement | yes | | | Stopping TriCore and/or PCP on Trigger Condition | yes | Manual configuration | | Emitting Signal on external Break pin on Trigger | yes | Manual configuration | | Connector | 16-Pin standard JTAG Connector | 60-Pin OCDS L2 Connector with Trace pod | | UDE-Tool Ordering Code | UDE/UAD2 and UEC | UDE/UAD2+-TC L2 | Update and Upgrade, Technical Support When
you purchase an UDE Development Environment, you get a FREE Update
Service for the UDE Debugger and the UDE-Mon Portable Monitor
Development Kit for 12 months. The Update Service includes
approximately two new software releases of the products including
documentation, regular product news and updates or upgrades of other
development environment components ( software, compiler, editor,
evaluation hardware...) at a favorable price. For questions or problems
we offer you our Technical Support Hotline. We specialize in supporting
your whole development environment including interaction between the
tools. System Requirements / Compatibility- Microsoft Windows compatibel Personal Computer
- Pentium III (or higher) processor running at 700MHz (or more) with 256MByte RAM
- Pentium 4, Pentium M, Celeron, Athlon, Athlon64 ( X2 ), Core 2 Duo or Core 2 Quad (> 1,4GHz) with 512MByte RAM recommended
- Operating System Microsoft Windows 2000 (SP4), Windows XP, Windows Vista
- Windows XP (SP2) or Windows Vista recommended
- .NET Framework 2.0
- Windows Scripting Host V5.6 required for scripting support
- Microsoft Internet Explorer 6.0 or higher
- Adobe Acrobat Reader 4.0 or higher
- 200 MByte space on local hard-disk
- CDROM drive for installation
- Administrator permissions for the current login during installation.
TriCore is a trademark of Infineon Technologies. Altium, TASKING and
their respective logos are trademarks or registered trademarks of
Altium Limited. Keil Software and the Keil Software Logo are registered
trademarks of Keil Software, Inc. Green Hills Software and the Green
Hills Software logo are registered trademarks of Green Hills Software,
Inc. ARM, EmbeddedICE and Thumb are registered trademarks of ARM
Limited. ARM7, ARM9 and Embedded Trace Macrocell, are trademarks of ARM
Limited. ST is a registered trademark of companies belonging to the
STMicroelectronics Group. XScale is a registered trademark of companies
belonging to the STMicroelectronics Group. All other brands or product
names are the property of their respective holders. |