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 efficiency gains.

Bare metal debug on AMP Systems

DS-5 Debugger 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 big.LITTLE™ subsystem 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 separately.

Non-ConfidentialPDF file icon PDF versionARM DUI0446Z
Copyright © 2010-2016 ARM Limited or its affiliates. All rights reserved.