Multiprocessor debugging with GDB and debug hardware

Debug hardware is capable of simultaneously and synchronously debugging multiple targets. However, GDB does not support multiprocessor debugging directly.


Although multiprocessor debugging is possible using GDB, it is recommended that you debug multiple processors using higher level tools.

Show/hideHow connections to multiple processors are allocated

When you make connections to multiple target processors, the connections on ports 5000, 5001,... are allocated by debug hardware, that is, redirected virtual DCC is allocated a port for each device in a similar way to GDB halt-mode debugging. The port range starts from port 5000, so virtual Ethernet or raw redirected DCC for the first device appears on port 5000, the second device on port 5001, and this continues in the same way.

Show/hideConsiderations when debugging multiple targets with GDB

Be aware of the following if you are debugging multiple targets with GDB:

  • Multiprocessor debugging with GDB requires that you open multiple command windows (such as Xterms). You must have one GDB session for each target processor to which you want to connect.

  • If you have multiple targets on the debug hardware scan chain, then:

    • the target processors are numbered consecutively, starting at one

    • the available bandwidth over DCC is shared between all target processors

    • communications to all target processors are through a single JTAG chain.

Show/hideSee also

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0498D