TRACE32 and ThreadX support SMP

Lauterbach and Express Logic, the worldwide leader in royalty-free real-time operating systems (RTOS), have combined their technologies to offer RTOS and debugger support for SMP systems.

Lauterbach, the leading manufacturer of microprocessor development tools, and Express Logic, the worldwide leader in royalty-free real-time operating systems (RTOS), have combined their technologies to offer RTOS and debugger support for SMP systems. Using the ThreadX real-time operating system in conjunction with the TRACE32 debugger allows easy integrated development and test of SMP applications on embedded systems.

Symmetric multi-processing (SMP) distributes an application onto several similar processors or cores of the same kind. The operating system manages the dynamic distribution of the applications runtime entities (threads) and attempts to load balance the CPUs as well as possible. This optimizes the system in terms of run-time, and frees the developer from having to make decisions about which work should be done on which CPU.

Express Logic offers a special SMP version for their ThreadX RTOS, “ThreadX/SMP”, that performs this distribution of threads to several CPUs. The number of CPUs used is configurable. Lauterbachs TRACE32 debugger supports multi-core systems with asymmetric or symmetric multi-processing. The user can decide whether he wants to debug one single core, or the whole system (all cores).

In cooperation with Express Logic, Lauterbach extended its ThreadX Awareness. TRACE32 now allows debugging of ThreadX/SMP applications without any problems. The list of threads now also shows on which CPU each thread currently is running. The debugger can switch to any CPU at any time, showing the view of each CPU. It evaluates the call stacks of all active and suspended threads and shows where an active thread currently is running or where a suspended thread is waiting. The system is started and stopped synchronously for all CPUs; a breakpoint hit halts the complete system, regardless of which CPU reached the breakpoint. On this event, the debugger automatically switches the view to the CPU that hit the breakpoint.

Using these features, the developer gains access to the complete application, and all system resources, debugging at the “system level” rather than at a “CPU level”.

The SMP version of ThreadX, as well as the SMP support in TRACE32, is available from the manufacturers immediately.