Running bare-metal images
By default, Arm® Compiler produces bare-metal images. Bare-metal images can run without an operating system. The images can run on a hardware target or on a software application that simulates the target, such as Fast Models or Fixed Virtual Platforms.
If you are using Arm DS-5, you can select Run > Debug Configurations to configure and load your application image into either a model or hardware platform.
Figure 1-4 Debug configurations
For more information on configuring and running the image using Arm DS-5, see the Arm® DS-5 Debugger User Guide.
By default, the C library in Arm Compiler uses special functions to access the input and output interfaces on the host computer. These functions implement a feature called semihosting. Semihosting is useful when the input and output on the hardware is not available during the early stages of application development.
When you want your application to use the input and output interfaces on the hardware, you must retarget the required semihosting functions in the C library.
For more information on configuring the Arm DS-5 Debugger settings, see Configuring a connection to a bare-metal hardware target.
Outputting debug messages from your application
The semihosting feature enables your bare-metal application, running on an Arm processor, to use the input and output interface on a host computer. This feature requires the use of a debugger that supports semihosting, for example Arm DS-5 Debugger, on the host computer.
A bare-metal application that uses semihosting does not use the input and output interface of the development platform. When the input and output interfaces on the development platform are available, you must reimplement the necessary semihosting functions to use the input and output interfaces on the development platform.