1.3.2 Debugging AMP Systems
From the point of view of DS-5 Debugger, Asymmetric Multi Processing (AMP) refers to a set of cores which operate in an uncoupled manner. The cores can be of different architectures or of the same architecture but not operating in an SMP configuration. Also, from the point of view of the debugger, it depends on the implementation whether the cores need to be started or halted together.
An example of this might be a Cortex-A5 device coupled with a Cortex-M4,
combining the benefits of an MCU running an RTOS which provides low-latency interrupt
with an application processor running Linux. These are often found in industrial
applications where a rich user-interface might need to interact closely with a
safety-critical control system, combining multiple cores into an integrated SoC for
Bare metal debug on AMP Systems
supports simultaneous debug of the cores in AMP devices. In this case, you need to
launch a debugger connection to each one of the cores and clusters in the system.
Each one of these connections is treated independently, so images, debug symbols,
and OS awareness are kept separate for each connection. For instance, you will
normally load an image and its debug symbols for each AMP processor. With multiple
debug sessions active, you can compare content in the Registers, Disassembly, and
Memory views by opening multiple views and
linking them to multiple connections, allowing you to view the state of each
processor at the same time.
It is possible to connect to a system in which there is a cluster or
working in SMP mode, for example, running Linux, with extra processors working in
AMP mode for example, running their own bare-metal software or an RTOS. DS-5 Debugger is capable of
supporting these devices by just connecting the debugger to each core or subsystem