2.2.1. Semihosting

In the ARM C Library, support for some ISO C functionality is provided by the host debugging environment. The mechanism that provides this functionality is known as semihosting.

Semihosting is implemented by a set of defined Supervisor Call (SVC) operations. When semihosting is executed, the debug agent identifies it and briefly suspends program execution. The semihosting operation is then serviced by the debug agent before code execution is resumed. Therefore, the task performed by the host itself is transparent to the program.

Figure 2.1 shows an example of semihosting operation that prints a string to the debugger console.

Figure 2.1. Example semihosting operation

Note

For more information, see the chapter describing semihosting in RealView Compilation Tools v3.0 Compiler and Libraries Guide.

Copyright © 2002-2006 ARM Limited. All rights reserved.ARM DUI 0203G
Non-Confidential