Proceedings of ISP RAS


Developing a Debugger for Real-Time Operating System

A.N. Emelenko (ISP RAS, Moscow, Russia, MIPT, Dolgoprudny, Russia)
K.A. Mallachiev (ISP RAS, Moscow, Russia, MSU, Moscow, Russia)
N.V. Pakulin (ISP RAS, Moscow, Russia, MSU, Moscow, Russia, MIPT, Dolgoprudny, Russia)

Abstract

In this paper, we report on the work in progress on the debugger project for real-time operating system JetOS for civil airborne systems. It is designed to work within Integrated Modular Avionics (IMA) architecture and implements ARINC 653 API specification. This operating system is being developed in the Institute for System Programming of the Russian Academy of Sciences and next step in developing this system is to create a tool to debug user-space applications on it. We also discuss the major requirements to such a debugger and show the difference between it and typical debugger, used by desktop developers. Moreover, we review a number of debuggers for various embedded systems and study their functionality. Finally, we present our solution that works both in emulator QEMU, which we use to emulate environment for our system, and on the target hardware. The presented debugger is based on GDB debugging framework but contains a number of extensions specific for debugging embedded applications. However, the implementation of the debugger is not complete yet and there is a number of features that can improve debugger usability, but it is already more functional than common GDB debugger for QEMU and, in contrast to other systems and their debuggers, where developers can use some functions to debug applications, but not all we need, our debugger meets the majority of our requirements and restrictions.

Keywords

debugger; GDB; real-time OS; remote debugger

Edition

Proceedings of the Institute for System Programming, vol. 28, issue 2, 2016, pp. 193-204.

ISSN 2220-6426 (Online), ISSN 2079-8156 (Print).

DOI: 10.15514/ISPRAS-2016-28(2)-13

Full text of the paper in pdf Back to the contents of the volume