Running bare-metal images
By default, ARM® Compiler produces bare-metal images. Bare-metal images can run standalone 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 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 DS-5, see the 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 DS-5 Debugger settings, see Configuring debug connections in DS-5 Debugger.
Outputting debug messages from your application
The semihosting feature enables your bare-metal application, running on an ARM target, to use the input and output interface on a host computer. This feature requires the use of a debugger that supports semihosting, for example 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.