When debugging C applications, whilst the debugger handles high level operations, it abstracts and offloads lower level operations to a debug server which is responsible for controlling the process or hardware. The debug server is capable of very simple operations, such as reading/writing registers and memory, starting and single-stepping the processor and reporting back when the processor halts. The two communicate with each other using a very simple text based serial protocol.
GDB has long been served by a number of debug server options, for Linux class systems the gdbserver application provides this functionality, and for embedded systems the gdbserver built into OpenOCD is commonly used, but support for some targets (such as RTL simulation) we can do better. In this talk, we present a new open source debug server that supports these usecases. It is capable of controlling the simplest hardware, through to complex multicore heterogenous architectures. I present the aims of this project and what we want to achieve as this progresses.
Presenter: Simon Cook
Simon is a tool chain engineer at Embecosm, at which he focuses on the LLVM compiler and tools for debugging embedded applications.
Talk recorded at ORConf 2019, the Open Source Digital Design conference, held in Bordeaux, France and organized by the FOSSi Foundation.
Ещё видео!