User Definable Enhancements with Scripts and Macros
Being 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 via DAP, JTAG, SWD, Nexus, ETM, ETB
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.
MCDS trace, OCDS L2 trace, ETM/ITM™ trace, ETB trace and Nexus 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.
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 and emulator 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, Cortex, XScale and SH-2A MCU hardware:
Target System Communication
UDE 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, Device Access Port (DAP)
- Communications On-chip Processor (COP)
- Embedded Trace Macrocell (ETM)
- Embedded Trace Buffer (ETB)
- JTAG OCDS L1 and L2
- Serial Wire Debug (SWD)
Please note that the offered communication features depend from your Hardware Communication
FLASH / OTP Memory Programming In-System
Universal Debug Engine integrates High-Speed FLASH / OTP Memory Programming Support - UDE MemTool for internal FLASH/OTP, external FLASH EPROMs (AM29F xxx and i28F xxx family) and any other JEDEC-compatible FLASH Memories.
Compilers for C166, ST10, ARM, TriCore, PowerPC, XC166, XC2000, XE166, SH-2A
For your convenience, UDE supports all of the available C/C++ Compilers:
- C166/ST10 C/C++ Compiler (Tasking)
- CA166 Compiler (Keil)
- XC16x C/C++ Compiler (Tasking)
- CA166 Compiler (Keil)
- TriCore Compiler C/C++ (Tasking)
- GNU TriCore C/C++ (HighTec)
- TriCore C/C++ (Green Hills)
- TriCore C/C++ (Wind River)
- Wind River C/C++ (Wind River)
- GNU PowerPC C/C++ (HighTec)
- CodeWarrior C/C++ Compiler (Freescale)
- Byte Craft eTPU C Compiler (Byte Craft)
- ARM Compiler /C++ (Tasking)
- RealView MDK-ARM Compiler (Keil)
- GNU C/C++ for ARM7/9 (HighTec)
- ADS ARM® Developer Suite (ARM®)
- Wind River C/C++ (Wind River)
- ImageCraft Compiler (ImageCraft)
VaST/Synopsys Simulator Support
The coupling of the PLS UDE and VaST/Synopsys tools reduces test times on the real hardware as the joint solution allows more detailed analysis of timing behavior and performance of an embedded application at a very early phase of system design. This prevents downstream errors that cause redesigns and significantly reduces development cost and schedule.
Interoperability Description and Customer Benefit
The Universal Debug Engine (UDE) can establish a connection to Synopsys virtual prototypes of SoC’s created with the CoMET-METeor platform. The support includes multi-core designs with TriCore and ARM cores. The solution offers debugging of software at high level language level on the virtual target with configuration and control of the processor models. Thanks of the modular structure of the UDE connection to the Synopsys/VaST tools is established via a special target interface component. If the real hardware is available a simple exchange of this component allows a smooth continuation of work.
UDE Graphical Diagram Display Window
The UDE graphical displat 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
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 visualization
The 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 XC166, XC2000, XE166 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 via IPSnooping, MCDS, OCDS L2 trace, ARM SOC trace
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 Tessy
The 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).
CMX Real Time Operating System Support
RTOS - Real Time Operation System Support
The 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 Real Time Operating System Support
µ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 Real Time Operating System Support
UDE 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.
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 Trace
Hard 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 Trace for TriCore
Multi-Core Debug Solution (MCDS) support is an Add-in available for UDE and is used to capture processor states in real-time using JTAG connection to the derivative. This can only be done with the MCDS onchip trace features of special versions of TriCore TC1796ED, TC1797ED and XC2000ED derivatives.
ETM and ETB Instruction Trace for ARM
The Embedded Trace Macrocell (ETM and ETB) 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.
Nexus Instruction Trace for PowerPC
UDE supports program trace via the Nexus interface. This function is currently available for the Power Architecture™ derivatives MPC55xx and MPC56xx from Freescale as well as SPC56xx from STMicroelectronics.
A 2-bit, 4-bit or, with the MCUs of the MPC55xx family, even 12-bit wide trace data port with up to 180 MHz clock frequency are supported, whereby up to 1 megasamples can be recorded. With a compression of the trace data direct by the trace hardware, this represents a multiple of machine commands.
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® 4, Pentium® M, Celeron®, Athlon™, Athlon™ 64 (X2), Core™ 2 Duo or Core™ 2 Quad (> 1,4GHz) with 512MByte RAM
- Operating System Microsoft Windows™ XP, Windows™ Vista, Windows™ 7
- 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
- 300 MByte space on local hard-disk
- CDROM drive for installation
- Administrator permissions for the current login during installation.