| |||
| Home > OS Support in RealView Debugger > Debug Agent | |||
RSD requires the presence of a Debug Agent on the target to handle requests from the RealView Debugger host components. The Debug Agent is necessary so that the actions required by the host can coexist with the overall functioning of the target OS and the application environment. This relationship is shown in Figure 1.1.
The Debug Agent and RealView Debugger communicate with each other using the debug communications channel (DCC). This enables data to be passed between the debugger and the target using the ICE interface, without stopping the program or entering debug state. The Debug Agent provides debug services for RealView Debugger and interacts with the OS and the application that is being debugged.
A DCC device driver, the IMP Comms Target Controller (ICTC), is required to handle the communications between the Debug Agent and RealView Debugger. Depending on the OS, the ICTC is part of the Debug Agent or the OS.
By interacting with the OS running on the target, the Debug Agent can gather information about the system and make modifications when requested by the user, for example to suspend a specified thread.
In summary, the Debug Agent:
provides a direct communications channel between the OS and RealView Debugger, using the ICTC
manages the list of threads on the system
enables thread execution control
manages OS objects such as semaphores, timers, and queues
accesses OS data structures during RSD mode.