Debug & Trace
PLS provides software debugging solutions and complete development tools for the 16/32-bit and 64-bit microcontroller families from various semiconductor manufacturers. A wide range of different MCUs are supported by the propriety UDE Universal Debug Engine® for debug, trace and test. PLS solutions are widely used by OEMs and Tier 1's for debugging embedded automotive and industrial applications.
UDE - Universal Debug Engine
The Universal Debug Engine® (UDE) from PLS is a powerful graphical user interface (GUI) for debugging, tracing, and testing embedded software across a wide range of microcontrollers and multicore SoCs. It offers a comprehensive feature set, including support for both high-level and assembler-level debugging, real-time observation, system visualization, and in-depth system analysis.
Designed with usability and efficiency in mind, UDE® offers advanced capabilities such as test automation, in-system flash programming, real-time operating system (RTOS) support, and AUTOSAR support features.
UDE®’s performance is enabled by the Universal Access Device family, which includes the UAD2pro, UAD2next, and UAD3+. These devices facilitate smooth and reliable communication with supported architectures and controllers. Their flexible adapter design allows for easy adaptation to a variety of debugging requirements and compatibility with multiple debug interfaces.
Engineered to streamline the development process, UDE® integrates seamlessly with modern software toolchains, helping to shorten project timelines and accelerate development cycles. Supported by the PLS development team’s deep expertise in controller architectures and on-chip debug features, UDE® delivers precise, reliable debugging and tracing tools tailored to the specific requirements of supported microcontrollers and embedded processors. This makes it a trusted choice for professional embedded software development.
Multicore Debugging Features
-
Enables core-specific loading of code and symbolic information, maintaining precise visibility for each processor core during debug sessions. This core-targeted approach ensures that developers can isolate and analyze behavior across heterogeneous cores without losing context.
The loader also supports the import of multiple ELF and HEX files, meeting the standard demands of today’s sophisticated multicore environments — whether you're managing inter-core interactions or running parallel workloads.
-
To maximize visibility in multicore environments, UDE applies distinctive color coding to each processor core. This visual separation is consistently maintained across the entire interface — from the Source code view to Variable and Memory views, and even within the multicore trace functionality. By visually distinguishing cores throughout all debug windows, developers gain immediate contextual awareness, simplifying parallel analysis and streamlining navigation in complex systems.
-
UDE supports parallel debugging of heterogeneous SoCs, Delivering comprehensive system-wide visibility and insight into cross-core interactions. This capability enables developers to efficiently track and analyze inter-core interference, regardless of processor type or architecture.
By facilitating synchronized debug sessions across mixed-core environments, UDE also enhances multicore profiling — helping teams fine-tune system behavior and performance with greater precision.
-
To optimize debugging of multicore applications, UDE offers the Run Control Group Manager, allowing developers to define synchronized core groupings. Cores with tight functional coupling, such as those coordinating critical tasks or sharing resources — can be configured to start, stop, and break simultaneously. Meanwhile, other cores continue executing independently in the background.
This flexible synchronization model enables targeted debugging in complex systems, and the entire setup can be intuitively customized through UDE’s graphical user interface.
Trace Features
-
-
Description text goes here
-
-
Item description
-
Item description
-
Standard Features
-
Enables optimized visibility of an embedded system, UDE allows activation of real time updates for variables. Variables are then automatically updated and be logged into a file with a resolution of up to 25ms.
-
Enables a more graphical view of variables adding different variables into a graph to better outline the relationship between signals and their overall timing. These variables can be updated with a resolution of up to 1ms.
-
Simple Access to standard run control functions like Go, Halt, Single Step, Step Into, Step Outof, Setting Breakpoints on code lines or variables that are essential to daily work. These functions can be accessed through selective mouse clicks, sub menus, and Hot Keys.
-
Navigating complex code can be challenging. The UDE call stack view supports efficient code navigation by providing clear visibility into nested calls and potential sources of delays. Focused access to each function's local variables further enhances the debugging experience.
-
UDE offers an in-depth view into all peripheral registers across modern microcontrollers. With the increasing number of integrated peripherals, UDE goes a step further by providing contextual descriptions and explanations for each register bit and bit field, helping users interpret complex configurations with ease.
Access to protected registers can be selectively unlocked, allowing for seamless modifications during debug sessions. Additionally, UDE’s integrated real-time update capability enhances runtime analysis, ensuring developers can monitor system behavior live with minimal disruption.
-
RTOS Support in UDE enhances embedded development by optionally integrating with numerous Real-Time Operating Systems. It offers RTOS-aware interface that reveals task status, queues, semaphores, task timers and Task - bringing clarity to complex runtime environments.
Whether you’re working with SafeRTOS, FreeRTOS, PXROS-HR, µC/OS, AUTOSAR OS via ORTI/ARTI, or other platforms, UDE adapts to give you powerful insights. Feature availability may vary depending on the operating system, so we encourage reaching out for tailored compatibility details.
Flash Programming
PLS supports flash programming for various devices including both on-chip and external flash devices that are suitable during the development process and throughout integration test as well as scaled production programming.
Supported Architectures
PLS supports a wide range of microcontrollers and multicore SOC’s. Ranging from simple single-core devices to multi-core SOC’s with heterogeneous design and specific extensions such as protection cores (hardware security modules) and tracing capabilities.
-
Cortex-A53 S32G
Cortex-R52 S32Z, S32E
Cortex-M7 S32K3
Cortex-M4, Cortex-M7 S32M
Cortex-R52 S32S
Cortex-A53 S32V234
Cortex-M7 i.MX RT
Cortex-M33 KW45
Power Architecture MPC56xx, MPC57xx, S32R
-
Aurix TC4xx
Aurix TC3xx
Aurix TC2xx
TriCore AUDO TC1xxx
TRAVEO™ T2G Arm® Cortex®
PSoC4™ Arm® Cortex®
MOTIX™ MCU embedded power ICs
XMC7000 Arm® Cortex®-M7
XC2000, XE166
-
Cortex-A53 TI Sitara AM64x
Cortex-R5F TI Sitara AM243x, AM263Px
Cortex-A72 TI Jacinto 7 TDA4, DRA8
Cortex-M0+ MSPM0
Cortex-R4 TMS570
-
SiFive FE310
E20
E24
-
RH850 G3K, G3M, G4M
Cortex-M33 RA4, RA6
SuperH SH-2A
-
Cortex-R52, Cortex-M7 Stellar
Cortex-M33 STM32H5, STM32L5, STM32U5
Power Architecture® SPC56x, SPC57x, SPC58x
-
Arm7/9
Arm11
Cortex-A
Cortex-AV8
Cortex-M
Cortex-R
Cortex-RV8
-
ARC RM Family EM4, EM5, EM6, EM7, EM9, EM11, EM22
ARC EV Family EV7x
ARC HS Family HS3x, HS4x
Virtual Development Kit (various cores)
Universal Access Devices UAD
UDE®’s performance is enabled by the Universal Access Device family, which includes the UAD2pro, UAD2next, and UAD3+. These devices facilitate smooth and reliable communication with supported architectures and controllers.
UAD2pro
The Universal Access Device 2pro is the new smart member of the UDE® target Access Device family. It replaces the approved UAD2 and offers new enhancements in the well-known form style. It establishes a bridge to the more powerful UAD3+ using the same target adapter solution.
UAD2next
The Universal Access Device2next is the powerful successor of UAD2+ and is the new all-in-one device in PLS’s UDE® target access device family. It combines the state-of-the-art debugging features of the UAD2pro with trace capabilities, which makes it ideal for efficient debugging, test and system-level analysis.
UAD3+
The Universal Access Device3+, a further development of the already established UAD2 family, was particularly optimized for use in multicore and multi-target systems with high clock frequencies. Thanks to the flexible pod and connector designs, up to eight various cores and targets respectively can be controlled with different debug protocols. A consistent further development of the JTAG extender technology by PLS permits connection lengths of up to 5 meters to the base unit. The extenders are optionally available with galvanic electrical isolation. Furthermore, with the flexible design, the pods can also carry out tasks such as CAN interface or logic analyzer probe.
Features
In addition to standard debugger features like high-level language stepping, call stack, and watch windows, PLS offers intuitive capabilities such as real-time visibility and performance metrics—even on standard devices—designed to enhance every engineer’s efficiency. For selected devices, PLS also provides optional real-time trace, profiling, and code coverage solutions.
Interfaces
The flexible adapter design allows for easy adaptation to a variety of debugging requirements and compatibility with multiple debug interfaces including but not limited to, JTAG, cJTAG, SWD, DAP, Nexus.