Using the C and C++ libraries with an application in a semihosting environment
If you are developing an application to run in a semihosted environment for debugging, you must have an execution environment that supports A32 and T32 semihosting, and that has sufficient memory.
The execution environment can be provided by either:
- Using the standard semihosting functionality that is present by default in, for example, the ARM DSTREAM debug and trace unit.
- Implementing your own handler for the semihosting calls.
It is not necessary to write any new functions or include files if you are using the default semihosting functionality of the C and C++ libraries.
The ARM debug agents support semihosting, but the memory map assumed by the C library might require tailoring to match the hardware being debugged.