Lauterbach’s TRACE32® Debugging for THREADX
RTOS Debugger for THREADX
- Real time, non-intrusive display of THREADX system resources
- THREADX-specific display of analyzer listing
- Statistic evaluation and graphic display of thread run times
- Thread-related evaluation of function run times
- Statistic evaluation and graphic display of thread states
- Thread stack coverage
- Thread Context display
- PRACTICE functions for OS data
The TRACE32 system includes a configurable multitask debugger to provide symbolic debugging in real-time operating systems. Our software package contains a ready-to-run configuration for the THREADX Real Time Kernel from Express Logic.
In close cooperation with Express Logic, we built a highly sophisticated THREADX awareness, which enables you to do a most effective debugging with the TRACE32 systems on targets running THREADX.
Multitask Debugging on TRACE32 with THREADX
Real-time, non-intrusive display of THREADX system resources.
The TRACE32 multitask debugger for THREADX provides display functions for all THREADX resources. The system resources threads, application timers, queues, semaphores, events, block pools and byte pools can be displayed. In addition, by using the emulator’s dual-port memory, the display of all these regions can be viewed non-intrusively in real time. The tables are updated permanently (
on the fly), without affecting the application at all.
Thread Status list window and detailed window of one specific thread:
THREADX-specific display of analyzer listing
The data recorded in the analyzer can be displayed and interpreted specific to the operating system. The thread switches can be displayed symbolically.
Statistic evaluation and graphic display of thread run times
The analyzer can calculate statistic tables of thread run times and thread switches. A graphical diagram shows which thread was active at a specific time, giving a clear view of the behavior of the system.
Thread-related evaluation of function run times
The statistic and graphic evaluation of function calls and function run times can be done dependent to the actual running thread. This is necessary if different threads call one single function at the same time, or if a thread switch occurs in between the function.
Statistic evaluation and graphic display of thread states
These tabular and graphical analyses of the status of threads show the various states (e.g. running, ready, waiting, suspended and undefined) and times each thread spent in each state. A graphical view of the data can help to highlight prioritization problems, critical paths, etc.
Thread Stack Coverage
In real-time systems it is quite important to know how much stack space each thread consumes. For this purpose, a special window shows the current and the maximum usage of each separate thread.
Thread Context Display
The TRACE32 Multitask debugger provides an easy way to switch the current displayed context to another thread. Normally, all register-related windows (e.g. listing at current PC, local variables or function call stack) are displayed related to the actual context (i.e. current executed thread). You can switch to the context of another thread to see all this information at the time the thread was scheduled.
PRACTICE functions for OS data
The support includes extended PRACTICE functions for THREADX-specific data. For example, the function
TASK.CONFIG (magic) returns the address of the so-called magic value, which corresponds to the ID of the current executed thread.
THREADX-related pull-down menu
Because the menu bar of the TRACE32 user interface can be fully customized, you can create a new pull-down menu, including operating system-specific commands. We deliver THREADX support with an example for such specific menus, which provides fast access to the THREADX features.