Lauterbach tool debugs Windows Embedded on ARM

Lauterbach has extended its debug support for the Windows Embedded Compact RTOS family.


This adds support for the Windows Embedded Compact 2013 operating system for both x86 and ARM architectures.

As a successor to Compact 7, Windows Embedded Compact 2013 has now been available for a couple of months and Lauterbach has extended its “Windows Embedded Awareness” for the TRACE32 debugger to include this new version.

For ARM processors, Microsoft provides the new embedded RTOS with a new compiler, which generates Thumb2 code.

This change has meant BSP developers have to make a considerable effort to port their code. In order to address this, Lauterbach has upgraded its debugger to read the code and symbol information provided by this new compiler.

According to Lauterbach, using the Windows Embedded Awareness included in TRACE32, the user is able to inspect the current processes and threads.

“This is possible even if no software debug channel (e.g. KITL) and no shell are present in the system,” said the supplier.

Using the extended MMU support of the TRACE32 debugger, the developer has access to the complete virtual address space at any time – i.e. a developer can debug bootstrap, kernel, drivers and applications simultaneously.

Developers can also debug several processes at once, which is especially interesting for testing inter-process communications.

If the system is based on a CPU with tracing capability (e.g. Cortex-A with ETM) then TRACE32 records the complete program flow without instrumenting the code. Using those records, thread switches can be examined and graphically displayed.

Code coverage information can be obtained down to individual lines of code and also thread run times and function run times can be analysed to provide performance details.

The debugger also supports symmetric multi-processing (SMP), which distributes an application onto several similar processors or cores.




Leave a Reply

Your email address will not be published. Required fields are marked *