| |||
| Home > Embedded Software Development > Default compilation tool behavior in the absence of a target system > 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.
For more information, see the chapter describing semihosting in RealView Compilation Tools v3.0 Compiler and Libraries Guide.