Distributed Source Code Debugging for Embedded Systems

01 April 2000

New Image

Embedded system debuggers deal with several layers of target system abstraction, including circuit, machine code, assembly code, procedural code and extension code layers. The Luxdbg debugger contains an explicit API for each of these layers, providing opportunities for networked distribution at any of them. Having evolved in an environment of assembly code debugging for small-footprint signal processing system, Luxdb has concentrated on distributing the machine code layer of abstraction. Network efficiency is achieved by using a demand paging mechanism borrowed from operating systems, which minimizes network traffic and system call overhead in exchanging processor state between the debugger and its target. Luxdbg also uses an extension of the Composite Design Pattern to aggregate and synchronize multiple processors and processes. A research version is adding networked distribution at the procedural code abstraction layer, based on the Java(TM) Debug Interface. it is also adding extension code distribution in support of multiple, communicating debuggers.