14.2.6. Changing debugger internals

Debugger internals appear in tabs in the Registers view. The tabs that appear depend on your debug target. You can change the values of these internals if required. However, be aware that changing some debugger internals is not recommended, or has other side-effects.

Changing SVC numbers

It is strongly recommended that you do not change the semihosting ARM and Thumb SuperVisor Call (SVC) numbers. If you do, you must:

  1. Change all the code in your application, including library code, to use the new SVC number.

  2. Change the ARM SVC and Thumb SVC settings to use the new SVC numbers.

    To do this for a connection, change the Arm_svc_num and Thumb_svc_num settings in the Connection Properties.

Enabling or disabling semihosting (hardware targets)

For a hardware target connection, you can temporarily override the semihosting setting in the Connection Properties of the related Debug Configuration.

Note

For non ARMv7-M processors with the semihosting vector set to the default (0x8), you cannot enable semihosting if the SVC vector catch is enabled.

To do this:

  1. Select View → Registers from the Code window main menu to open the Registers view.

  2. Click the Debug tab.

  3. Select either True or False from the Semihosting enabled drop-down list.

Note

In a multiprocessor configuration, this affects the current connection only.

You can also set the variable semihost_enabled directly using the CEXPRESSION CLI command, for example:

cexpression @semihost_enabled=1

Set the variable to 1 to temporarily enable semihosting, or 0 to temporarily disable semihosting.

To permanently set the semihosting state for a connection, change the Enabled setting in the Semihosting group of the Connection Properties for the required Debug Configuration.

Enabling or disabling semihosting (RVISS)

For a target connection through RVISS, you can temporarily override the semihosting setting in the Connection Properties of the related Debug Configuration. To do this:

  1. Select View → Registers from the Code window main menu to open the Registers view.

  2. Click the Semihost tab.

  3. Set the Semihosting State value to either 1 (True) or 0 (False).

You can also set the variable semihost_state directly using the CEXPRESSION CLI command, for example:

cexpression @semihost_state=1

See also

Copyright © 2002-2011 ARM. All rights reserved.ARM DUI 0153N
Non-ConfidentialID052111