EmbDev.net

Forum: ARM programming with GCC/GNU tools Regarding General BIOS writting


von Dharmendra V. (dharmendra)


Rate this post
useful
not useful
Hi ALL,

sorry to ask such question.

I am expecting project for BIOS writing. I have some queries regarding
BIOS writing.
 What tools and languages are used to write BIOS?
 Is there any documentation for understanding of BIOS?
 What must be the content of the BIOS?

Please send me reply any thing you know regarding this

Dharmendra

von Martin Thomas (Guest)


Rate this post
useful
not useful
Dharmendra Vasadia wrote:

> I am expecting project for BIOS writing. I have some queries regarding
> BIOS writing.
>  What tools and languages are used to write BIOS?
>  Is there any documentation for understanding of BIOS?
>  What must be the content of the BIOS?
>
> Please send me reply any thing you know regarding this

By far not enough information.

See the FreeBIOS project for an example of a "real" BIOS for PC-like
hardware. For microcontrollers some functions of a bios can be
implements by code at a fixed location which offers an array of pointers
to functions which provide for example file or console I/O. For
ARM-controllers (and maybe others) this can simplified by using
SWI-calls as interface. You can see the syscalls which are needed by
newlib to interface with the hardware as "BIOS".

Martin Thomas

von Clifford S. (clifford)


Rate this post
useful
not useful
BIOS is simply a term used for basic I/O services on a platform. There
is no 'standard' for what a BIOS should contain, unless you are
referring to teh PC BIOS, but that is not implemented on ARM of course.
Typically you put in it what you need and to support teh hardware on
your board.

ARM supports software interrupts which allows such code to be installed
and called without being explicitly linked to the calling application -
i.e the caller does notneed to know the address of a function.

>>  What tools and languages are used to write BIOS?
You can use C, but will may need some assembler to do some of the 'glue'
such as setting up vector tables. Similar code is already needed for yur
C run-time startup.

>>  Is there any documentation for understanding of BIOS?
As I sait there is no 'one thing' called a BIOS, it is a generic term
for low-level hardware/platform support code.

>>  What must be the content of the BIOS?
Whatever you need to support the hardware on your board. Serial comms is
probably a good start, you can then use that to hook into the syscalls
code.

Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
No account? Register here.