Implementation of an application debugger for software in embedded systems

University essay from Institutionen för datavetenskap

Abstract: Debugging applications that are running in embedded systems is becoming harder and harder due to the growing complexity of the systems. This is especially true for embedded systems that are developed for the automotive market. To aid the debugging there are tools called debuggers. Historically, debuggers have been implemented by using a debug port to connect a software debugger running at the developer machine to dedicated on-chip debugging hardware. The problem with this approach is that it is expensive and that it is not possible to use it if the debug port on the system is not available.Therefore there is a demand for user-friendly debuggers that are not as expensive and require no extra hardware. This report presents alternatives to debugging embedded systems. From these alternatives a completely software based debugger solution called monitor-based debugging is selected and acts as a foundation for an implementation that is described in the report. The implementation uses GNU Debugger (GDB) and its remote debugging capabilities to perform debugging. The implemented debugger is evaluated by using it to debug applications that are running in a powertrain control unit in a modern truck. It is also compared to two commercial hardware based debuggers. In the evaluation it is found that the debugger functionalities and user-friendliness are on par with the commercial alternatives, but that it lacks some in its non-intrusive capabilities when comparing it with the high-end alternatives on the market.

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)