Each year the ESC survey, LinkedIn discussions and papers such Cravotta, R., Shedding light on embedded debugging, 2008, show statements such as “test and debug continues to consume the largest slice of the development and maintenance cycle.” This makes test and debug a concern for every company developing electronic product.
Test is a vital and accepted part of the design cycle. Debug is the natural companion of test. Whilst methodologies and processes can be optimised to minimalize the probability of bugs they will not be reduced to zero for code of any level of complexity. By this statement I mean that best practice will provide risk mitigation but not complete risk elimination. So there will for the foreseeable future be a need for tools to assist with test and debug.
With this thinking in mind Clarinox has worked to provide an enhanced debugging tool and a component of their embedded framework. Framework aimed at providing an OS agnostic middleware with the main building blocks required for wireless device and system development. The aim is to provide a package that assists to make development faster, more robust and readily portable to many platforms.
Additionally Clarinox has a long standing relationship with RMIT university (Melbourne Australia) and have recently jointly prepared paper on the topic of debugging which was accepted to the annual real time and embedded system conference, Singapore November 1-2. The paper describes a flexible, plug-in based debugger. The debug system, built as a C++ interface class, is independent of the physical layer, which can be a network, a serial connection (e.g., RS232), or even a file on hard disk or flash memory. The plug-in mechanism is described and an example presented of how these are written to fit into the debugger environment. (http://www.clarinox.com/docs/whitepapers/EmbeddedDebugger.pdf).
Finally, thanks to Pavel Modilaynen, Embedded Software Engineer at ARC, Russia for the subject line quote and the many other engineers that have discussed with us what is good and bad about debugging tools for embedded systems.