The C library uses the standard ARM semihosted environment to provide facilities such as file input/output. This environment is supported by the ARM DSTREAM™ and ARM RVI™ debug units and the Real-Time Simulator Model (RTSM).
You can re-implement any of the target-dependent functions of the C library as part of your application. This enables you to tailor the C library and, therefore, the C++ library, to your own execution environment.
You can also tailor many of the target-independent functions to your own application-specific requirements. For example:
All the locale-specific functions.
Many of the C library functions are independent of any other function and contain no target dependencies. You can easily exploit these functions from assembler code.
Functions in the C library are responsible for:
Creating an environment in which a C or C++ program can execute. This includes:
Creating a stack.
Creating a heap, if required.
Initializing the parts of the library the program uses.
Starting execution by calling
Supporting use of ISO-defined functions by the program.
Catching runtime errors and signals and, if required, terminating execution on error or program exit.