EmbeddedRelated.com
Forums
Memfault Beyond the Launch

BIOS vs bootloader

Started by shani July 23, 2009
Hi
I am trying to understand the difference between a BIOS and bootloader
from an embedded system's perspective. In particular, the system we are
designing will have no hard disk and uses a NAND flash as a storage medium.
The processor is likely to be an Atom core, running on a WinCE platform.

I would appreciate if anybody could provide feedback on the following:

1. I am led to understand BIOS is slower than a bootloader when
considering boot times. Why is this?

2. Is it common to pay BIOS vendors a royalty per product, or could we
develop BIOS ourselves?

3. How does a BIOS compare with a bootloader?

Thanks
Shani
On Jul 23, 7:48=A0am, "shani" <samie.gha...@plexus.com> wrote:

> I am trying to understand the difference between a BIOS and bootloader > from an embedded system's perspective. In particular, the system we are
Semantically the difference is - a BIOS is code that remains resident after boot time, and can be used by the OS kernel itself to provide an additional layer of hardware abstraction for some services. A bootloader's only function is to configure the system's peripherals and memory controller(s) to load the main OS kernel. Once the kernel is loaded, the bootloader disappears.
> The processor is likely to be an Atom core, running on a WinCE platform.
I'm sorry to hear that (about WinCE). In general, x86=3D>PC architecture from top to bottom (which=3D>BIOS), if only because it's so difficult to initialize an x86 system from cold.
> 1. I am led to understand BIOS is slower than a bootloader when > considering boot times. Why is this?
It might not be true; it is not /inherently/ true but it is /usually/ true that BIOS implementations are general-purpose and hence slow. It depends what the BIOS does during POR, and how much of that you can disable. Usually you do not have full customizability of a BIOS, so it will waste a lot of powerup time checking for nonexistent hardware, waiting for nonexistent hard drives to spin up, displaying logos, etc. With a bootloader, to which you would have full source typically, you can configure it to go exactly where it needs to go and load exactly what it needs to load, with no messing about.
> 2. Is it common to pay BIOS vendors a royalty per product, or could we > develop BIOS ourselves?
You pay royalties.
Op Thu, 23 Jul 2009 14:11:37 +0200 schreef larwe <zwsdotcom@gmail.com>:
> On Jul 23, 7:48&#4294967295;am, "shani" <samie.gha...@plexus.com> wrote: > >> 2. Is it common to pay BIOS vendors a royalty per product, or could we >> develop BIOS ourselves? > > You pay royalties.
Unless you use free software like coreboot. http://www.coreboot.org/ -- Gemaakt met Opera's revolutionaire e-mailprogramma: http://www.opera.com/mail/
On Jul 23, 11:12=A0am, "Boudewijn Dijkstra" <boudew...@indes.com> wrote:

> >> 2. Is it common to pay BIOS vendors a royalty per product, or could we > >> develop BIOS ourselves? > > > You pay royalties. > > Unless you use free software like coreboot. > =A0 =A0 =A0 =A0http://www.coreboot.org/
I was going to mention LinuxBoot (I didn't realize it had a name change) but really the essence of it is that it's a bootloader, not a BIOS - it _replaces_ the BIOS. But it's a semantic issue I guess.
On Jul 23, 4:48=A0am, "shani" <samie.gha...@plexus.com> wrote:
> Hi > I am trying to understand the difference between a BIOS and bootloader > from an embedded system's perspective. In particular, the system we are > designing will have no hard disk and uses a NAND flash as a storage mediu=
m.
> The processor is likely to be an Atom core, running on a WinCE platform. > > I would appreciate if anybody could provide feedback on the following: > > 1. I am led to understand BIOS is slower than a bootloader when > considering boot times. Why is this? > > 2. Is it common to pay BIOS vendors a royalty per product, or could we > develop BIOS ourselves? > > 3. How does a BIOS compare with a bootloader? > > Thanks > Shani
BIOS =3D Basic Input Output System. Bootloader gets your chip into a know state from which you can load an OS but usually your will never call the bootloader again once your system is running. BIOS provides low level Input/Output routines that can be called by your program or by an OS and more likely than not, it will be used during runtime of your system. hth, An Schwob

Memfault Beyond the Launch