| |||||||||||||
Technical Support On-Line Manuals RealView Compiler User's Guide | What is semihosting?
Semihosting is a mechanism for ARM targets to communicate input/output requests from application code to a host computer running a debugger. For example, you can use this mechanism to enable functions in the C library, such as This is useful because development hardware often does not have all the input and output facilities of the final system. Semihosting enables the host computer to provide these facilities. Semihosting is implemented by a set of defined software instructions, for example, SVCs, that generate exceptions from program control. The application invokes the appropriate semihosting call and the debug agent then handles the exception. The debug agent provides the required communication with the host. The semihosting interface is common across all debug agents provided by ARM Limited. Semihosted operations work when you are using RealView ARMulator® ISS (RVISS), Instruction Set System Model (ISSM), RealView ICE or RealMonitor without any requirement for porting, see Figure A.1. In many cases, semihosting is invoked by code within library functions. The application can also invoke the semihosting operation directly. See Chapter 2 The C and C++ Libraries in the Libraries Guide for more information on support for semihosting in the ARM C library. NoteARM processors prior to ARMv7 use the | ||||||||||||
| |||||||||||||