Lauterbach has extended its support for the Windows CE RTOS family to include Windows Embedded Compact 7. The TRACE32 debugger also understands the SMP kernel for multicore systems which has been introduced in version 7.
This enables TRACE32 to provide an integrated environment for development and test of kernel, drivers, processes and DLLs, running on either a single core or in SMP mode. By adding a trace system, the user can undertake real-time performance analysis at the thread level.
To follow Windows CE.net and versions CE 5 and CE 6, Microsoft recently announced Windows Embedded Compact 7, which includes an advanced version of the kernel from CE 6.
By using Windows CE Awareness in the TRACE32, a user is able to analyze the processes and threads present on the target. This can be done even if no software debug channel (e.g. KITL) and no shell is present in the system. By using the extended MMU support of the TRACE32 debugger, the developer gets access to the complete virtual address space at any time – i.e. simultaneous debugging of bootstrap, kernel, drivers and applications . You can also debug several processes at once, which is especially useful for testing inter-process communications.
If the system is based on a CPU with trace capability then TRACE32 selectively records processor cycles. Using those records, thread switches can be examined and graphically displayed. Thread run times and function run times are calculated to give a detailed performance analysis. Statistic tables also give accurate information about the system load.
Symmetric multi processing (SMP) distributes an application over several similar processors or cores. The operating system manages the dynamic distribution of the runtime threads and attempts to balance the load on the cores as much as possible. This optimizes the total system in terms of run time, and frees the developer from deciding which work should be done on which core.
Lauterbach has extended its Windows CE Awareness to include SMP capability, thus allowing easy debugging of Windows CE SMP applications. The debugger can switch to any core as required providing a detailed view of the overall CPU operation. It evaluates the call stacks of all active and passive threads and shows where an active thread is currently running or where a passive thread is waiting. The system is started and stopped synchronously for all cores; a breakpoint hit halts the complete CPU, regardless which core reached the breakpoint. When this occurs the debugger automatically switches the view to the core that hit the breakpoint.