B.1.4. How do I configure semihosting?

Semihosting is a mechanism that captures I/O requests made by code running on the target (typically library code), and communicates these to the host system for handling. For example, application printfs appear, by default, within the debugger console window. Semihosting can be enabled or disabled from the debugger.

Semihosting can be set for a single debug session from the Debug or Semihost tab of the Register pane, depending on your target (see Where do I find Debugger Internal variables?). The available options, if you are using Multi-ICE®, are NO, STD (Standard), and DCC.

Semihosting can also be set for a particular target connection using the Connection Properties window:

  1. Ensure that you disconnect from the target before making these changes.

  2. Select Target ? Connect to Target... to open the Connection Control window.

  3. Right-click on the connection, for example Multi-ICE, and select Connection Properties... from the context menu.

    The appropriate branch in the Connection Properties window opens automatically.

  4. Expand the following entries in turn:

    • CONNECTION= (for the connection you are configuring)

    • Advanced_Information

    • Default

    • ARM_config

  5. Click Semihosting in the left pane.

  6. Set the Enabled option for the connection.

  7. Select File ? Save and Close.


To use the new setting, you must now connect to the target.

If a Board/Chip definition file is selected for this connection, then this file might contain a value for Semihosting that overrides the target connection setting.

Copyright © 2002-2005 ARM Limited. All rights reserved.ARM DUI 0181G