UDE Message FAQs

UDE Message Frequently Asked Questions (Toggle all items)

ERROR: Wrong type of JTAG engine or JTAG engine too old ! ERROR: Use UAD Configurator to update Pod to latest version !

An update of the IO Pod configuration is needed, if you see this message. This might be caused by new version of UDE or if you select another communication mode (e.g. DAP instead of JTAG). Please follow the steps below to update or change the configuration.

Open the UAD Configurator: Start via system start menu All Programs - Universal Debug Engine - Tools - UDE Access Device Configurator ( or run UADConfig.exe directly).

Update the configuration:

  1. Connect to UAD3: Select the appropriate UAD3 by double click
  2. The current version and type of configuration is shown for all devices in/at the selected UAD3; Select the IO Pod
  3. Apply the update by double click on the suitable configuration

More information can be found in the UAD-Config help. If there are problems, please contact support@pls-mc.com.

ERROR: UDESym.Database: The file resolves to a path that is too long. The maximum length is 260 characters !

This error message was caused by UDEs symbol engine database. The appropriate database file is located to deep inside the systems path.


UDE stores data from ELF file inside this database. Usually the database (*.sdf) is located in the same directory as the ELF file.

To resolve the problem, place the ELF file in a directory with a shorter path. The length (incl. *.elf) should not exceed 235 characters. If this isn't feasible, you may place UDEs symbol database in another directory, see below.

If you get this message despite short path, then your ELF file might be located on a mapped drive (e.g. a ram-drive or a ClearCase Repository). In this case you should place the symbol database on a local drive (e.g. temp folder).

Change symbol database path:

  • Open UDE, select menu Config - Debug server configuration
  • Tab Symbol - Database directory
  • Select Other and browse a shorter/local path

ERROR: Failed to initialize workspace !

For diagnostic of the problem run the tool:


from the UDE folder. When more than 10 components are shown as not registered for usage with UDE, then the basic reason could be an unregistered atl.dll, which prevents the correct installing of UDE. To solve the problem, please open a command shell within


directory. On command line run:

  regsvr32 atl.dll

Then run


within your UDE installation folder and all components should be registered successfully.

ERROR: UAD2CommDev: Failed to update access device loader ! MSG: UAD2CommDev: Couldn't execute required Loader Update over Ethernet !

If you use an old access device with a new UDE version, there may be a loader update for the Access Device required. This update can't be applied over Ethernet, please follow the steps below, to update the loader. To update a UAD2+, which is normally connected over Ethernet, you must connect the UAD2+ using USB or FireWire and apply the update.

  1. Unplug the power cable from UAD2+.
  2. Connect the UAD2+ to your PC using USB or FireWire.
  3. Target connection is not required, the update is also applied without.
  4. Plug in the power cable.
  5. You should see the Access Device in windows device manager now (Group: pls Debugging Devices).
  6. Start UDE.
  7. Open a Workspace (or generate a new one).
  8. Select your UAD2+.
  9. Try to connect to target.
  10. The loader update will now be applied automatically (additional info in the UDE Message FAQ under the topic "Firmware updated required" )
  11. If the update was successful, you will see a message in command view:
    MSG: UAD2CommDev: Loader update succeeded, new version: Vx.xx.xx
  12. You can ignore the errors about not connected target.
  13. Disconnect Power and USB/FireWire.
  14. You can use the UAD2+ over Ethernet now.

If there are some problems, please contact support@pls-mc.com.

ERROR: UAD2CommDev: Firmware update required !

You may get this message, if you update the UDE version and there is a new version of firmware/loader for the Access Device included. This update is normally applied automatically. The loader update will be applied, if you connect the first time to the target. It will take a few seconds and you will see a progress bar while the update is applied. (Old versions of UDE seem to hang for the time, please do not kill the process or turn of the Access Device! ...be patient.).

If the update was successful, you will see the following message in the command view:

  MSG: UAD2CommDev: Loader update succeeded, new version: Vx.xx.xx

The update can't be executed, if you use a UAD2+ connected over Ethernet. In this case you will get an message similar like:

  MSG: UAD2CommDev: Couldn't execute required Loader Update over Ethernet ! Use USB or Firewire for Update

To update such a device, please follow the steps mentioned in the Hardware FAQ.

ERROR: UDESymbolEngine: Symbol engine error !

What are reasons of this error message and how can I solve it? The message occurs, when

  • the internal symbol database of the target application (*.out, *.elf) built by UDE is corrupted -> delete the corresponding *.sdf file, which is located near by the *.elf file
  • the SQLServer Compact Edition is not installed -> reinstall it
  • an unsupported debug format is used -> call PLS' support
  • an unsupported compiler version is used -> call PLS' support

WARNING: JtagTargIntf: Invalid SIMIO synchronization address/symbol 'g_JtagSimioAccess' selected ! SIMIO disabled !

SimIO or Simulated I/O is one of the UDE features. It allows the usage of the printf/scanf functions to transfer characters between the user application and the debugger (via Simulated I/O Window) via the debugging communication channel (JTAG, ASC, ..). It supports the so-called printf-debugging. Examples for using the SimIO feature can be found within the UDE installation as Sieve sample for many target architectures.

For using this feature the variable g_JtagSimioAccess must be defined in the user program for allowing the communication. When the Simulated I/O Window is open, and this variable is not found, the messages above is printed in the command view. If SimIO is not used, close the Simulated I/O Window to avoid the message output.

MSG: UDEDebugServer: halted by trigger event !

You can configure advanced break conditions (In addition to breakpoints). The complexity of this hardware triggers depends on used target. The program will halt if the configured conditions match. Then this message will be displayed in command view.

Use the menu: Debug - Setup trigger unit to change (or disable) the trigger.

MSG: UDEDebugServer: halted by CPU exception: .. WARNING: TcCoreTargIntf: cannot set exception handling at start address: .. WARNING: TcCoreTargIntf: exception handling at .. temporary disabled !

Usually the program code should handle the TriCore exceptions/traps by correct initialisation of the BTV (Trap Vector Table Pointer) register and providing a trap vector table. If the program does not handle the traps it can crash unexpectedly by occurrence of a trap.

UDE supports the debugging of programs that does not implement the trap handling. Enable the UDE trap handling by the dialog 'TriCore Traps' from the menu 'Debug - Setup TriCore Traps' (per default enabled) and set the BTV register to a meaningful value.

The error/warning messages above occur under following circumstances (UDE implements the trap handler):

  1. If a real trap occurs, the TriCore program will be stopped and the first message will be shown.
  2. If the BTV register is pointing into the program location and the program oversteps the trap entry point, the program will be stopped by UDE because of the UDE trap handling and the first message will be shown. Set the BTV register to point in a location outside of the program code.
  3. If the BTV register is pointing into read/only memory and the debugger tries to handle the traps, the second warning message will be occur because the debugger cannot map the trap routines. Set the BTV register to point in read/write memory.
  4. If the program was stopped at the trap entry code, the trap handling will be temporary disabled because of the impossible reentry into the trap handling code. The third warning will be occur.

Please note that the UDE exception/trap handling is enabled per default. The BTV register is setup via the initialisation commands.

MSG: TargIntf: CRC checksum failed !

While downloading of a program code the target pattern are checked via a CRC checksum algorithm. If the check fails the message above will occur. The reasons may be

  1. instable communication
  2. wrong adjusted memory area.

MSG: C166SV2TargIntf: Failed to set trap handling !

While ROM stepping the trap handling by the debugger is not possible, because the traps cannot be caught by UDE. To avoid this error please disable all entries in 'Config - Target Configuration - Debug - Handle this Controller Exceptions'.

To use the trap handling feature anyway either the trap vector table must be located in RAM or all traps must be masked with the debug instructions SBRK (Opcode 0x8C00). The PLS Development Tools prepares a tool for patching the debug instructions into the trap table. Please contact the pls Support Team for the availability of the tool.

ERROR: UDESym.Database: The operating system does not support the Encryption Mode provided !

UDE uses a Microsoft SQL Server Compact database to store debug symbol information.

The database is created with encryption. If it fails, then UDE will display the error message from Microsoft SQL Server Compact.

There is a known issue with encryption and Microsoft provides a hotfix: http://support.microsoft.com/kb/972002/en-us