Hello. This is a very basic question. However I am new at the cross compilation scene, and I ask to bare with me.
I've been reading about compiling toolchains for arm. One thing that keeps coming up is the need to have a certain library (for example stdio) for a given operating system. I've rencently succesfully (as in there were no errors or warnings) compiled a Hello World application for a Cortex M0, using uVision MDK-Lite Version 5.11. I manually set the memory ranges in the target dialog box and used the offered Device startup sources (startup_ARMCM0.s and system_ARMCM0.c) provided by the program. As I understood this was a bare metal project. No OS. I haven't had the chance yet. But were I to download this to a M0 platform, It would run. But It got me thinking. What is it including really when I write the line
#include<stdio.h>
Am I wrong and Keil IS assuming a OS? Does Keil have certain libraries for Different OS possibilities?
Thanks for understanding and any clarification.
Most of the features of the Standard 'C' library don't actually require an OS - they can be (and are) implemented for "bare metal" systems.
ARM Compiler v5.04 for µVision ARM C and C++ Libraries and Floating-Point Support User Guide http://www.keil.com/support/man/docs/armlib/
The ARM C and C++ Libraries www.keil.com/.../armlib_chr1358938908603.htm
The ARM C Micro-library www.keil.com/.../armlib_chr1358938937854.htm
Thank you for clearing that up! I appreciate it.