About debug methods
The core is part of a debug system and supports both self-hosted and external debug.
The following figure shows a typical external debug system.
Figure C1-1 External debug system
- Debug host
- A computer, for example a personal computer, that is running a software debugger such as the DS-5 Debugger. With the debug host, you can issue high-level commands, such as setting a breakpoint at a certain location or examining the contents of a memory address.
- Protocol converter
- The debug host sends messages to the debug target using an interface such as Ethernet. However, the debug target typically implements a different interface protocol. A device such as DSTREAM is required to convert between the two protocols.
- Debug target
The lowest level of the system implements system support for the protocol converter to access the debug unit using the Advanced Peripheral Bus (APB) slave interface. An example of a debug target is a development system with a test chip or a silicon part with a core.
- Debug unit
Helps debugging software that is running on the core:
- Hardware systems that are based on the core.
- Operating systems.
- Application software.
With the debug unit, you can:
- Stop program execution.
- Examine and alter process and coprocessor state.
- Examine and alter memory and the state of the input or output peripherals.
- Restart the core.
For self-hosted debug, the debug target runs additional debug monitor software that runs on the Neoverse™ N1 core itself. This way, it does not require expensive interface hardware to connect a second host computer.