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):
- If a real trap occurs, the TriCore program will be stopped and the first message will be shown.
- 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.
- 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.
- 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.