3.4.2. Run control and the debugger

Run control is a feature of the Multi-ICE server. Because the Multi-ICE server is the only place that has information about each of the processors in the system, it is on the server that you configure and control the interactions between different processors.


  • If you require run control to debug a specific part of your program, it is recommended that you initially set the server to Independent run control, so that no unexpected stop events occur. When the program reaches the area of interest, set up the desired run control settings in the server and start debugging.

  • Make sure all the processors in the system are stopped when you change run control settings, because the settings are only applied when execution is started.

Synchronous starting

If you set up a synchronous start group that includes a particular processor, when you start that processor it does not start immediately. The debugger displays a message indicating that the server is waiting for other processors to start. You must use the other debuggers to start every processor in the synchronous start group before all of the waiting messages disappear and the processors all start together.


If you require synchronous stopping as well as starting, you have to set up the server to do this before you start any of the processors in the group.

Synchronous stopping

When one of the processors stops (for example, due to a breakpoint or watchpoint), the debugger connected to that processor displays the processor state. If you have set up the Multi-ICE server to stop other processors together with this processor, the Multi-ICE server stops them and the debuggers connected to the other processors display the message:

Server stopped the processor

You can now examine the state of any processor in the group.

Copyright © 1998-2002 ARM Limited. All rights reserved.ARM DUI 0048F