-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Freestanding/Baremetal #38
Comments
Hey. I was using it for AVR micros, as well as for nmos6502 computer. In the former case avr-libc provided enough options, in the latter - cc65 had already implemented standard library to work on bare metal computer. Which platform do you need it for? or may be i did not understand the question good enough. |
@norayr just standard x86/64 |
Short search did not unveil for me some answers yet. Does gcc when used with -ffreestanding produce code that can be booted on a standard x86? Then, which options do you have for further development? I guess you cannot access filesystems? How does standard output work? When you use write(), the code gcc generates already implements the write system call? Can you use stdio with printf() let's say? Short answer is yes, it is fairly possible to use voc on a bare metal, moreover, that gcc supports it. |
@norayr this page will give you more information: http://wiki.osdev.org/Bare_Bones |
Hi. As Norayr says, this should be possible. OS access is from a fairly All operating system requests from user programs and from the run time Fundamentally you will need to update configure.c and vishap.make in The startup code is generated by the compiler when you pass -m: it When voc calls gcc, it looks for an environment variable called CFLAGS I'm sure there will be things we haven't though of, but does that sound -- Dave. On 2016-07-26 15:09, Immortalin wrote:
Links:[1] https://github.com/norayr |
Is it possible to add a compiler option for freestanding/bare metal compilation? (Equivalent GCC flag -ffreestanding )
The text was updated successfully, but these errors were encountered: