*

Welcome, Guest. Please login or register.

Get your own OLPC - Buy an XO laptop on eBay!
Pages: [1]
Print
Author Topic: What is firmware?  (Read 6431 times)

What is firmware?

BeckyJ
Senior Contributor
**
Posts: 197


October 05, 2008, 11:08:39 PM

1) What is the role of firmware for the XO OS?

and, more specifically,

2) What does the latest firmware upgrade do for build 656?

TIA
Logged

#1 Re: What is firmware?

AuntiMame
Master Contributor
***
Posts: 418



WWW
October 06, 2008, 06:34:46 AM

Firmware is analogous to the BIOS (Basic Input Output System) found in most computers. Of course, this only makes sense if you know what BIOS is.

Imagine building a house: you can't just walk into the woods and prop up a couple o' logs at any angle you want and call it a house. You need a clearing and a platform, or cellar, or at least leveled ground to work on. Then you need to frame the walls to make them square and straight. Then erect the walls and join them together to make them stay upright and stable (or lay courses of bricks and mortar, or notch and lay logs). Then build the roof to hold it all together.

After that's all done you can bring in the paint and wallpaper to make it look nice.

And only then can you add the furniture.


The firmware/BIOS is the clearing/cellar/level ground. The operating system is the walls and roof. The GUI (sugar) is the paint and wallpaper. And the activities are the furniture.

In geek-speak the firmware is a set of instructions permanently (or semi-permanently) stored in a system chip that provide instructions on how the system hardware interacts (i.e., drivers and instructions for interacting with the flash, camera, RAM, USB ports, etc.)


The most recent firmware includes improvements in the wireless, bug fixes (like the SD card corruption bug), has improved self-testing, and the features that will be necessary for countries that want to use Windows on an SD card (these features really don't do anything for you or me and running Windows will only be an option for very large deployments, like countries).

Hope this helps,
Aunti


(edited for typo. being dyslexic bites!)
« Last Edit: October 06, 2008, 09:29:49 AM by AuntiMame » Logged

Shop for XO accessories and swag at www.XOExplosion.com

Life is a banquet, and most poor suckers are starving to death!

#2 Re: What is firmware?

Directive0
Master Contributor
***
Posts: 375



October 06, 2008, 09:18:32 AM

I have to say, that was a fantastic analogy.
Logged

#3 Re: What is firmware?

AuntiMame
Master Contributor
***
Posts: 418



WWW
October 06, 2008, 09:28:09 AM

thank you, Directive0.  Smiley
Logged

Shop for XO accessories and swag at www.XOExplosion.com

Life is a banquet, and most poor suckers are starving to death!

#4 Re: What is firmware?

BeckyJ
Senior Contributor
**
Posts: 197


October 06, 2008, 10:52:10 AM

Talented analogy, Aunti!

I especially liked the comparison of a GUI to paint, wallpaper and furniture. After all that's what we see and interact with daily, not the foundation, inner walls, wiring, etc.!

Thank you!
Logged

#5 Re: What is firmware?

Jordan
Senior Contributor
**
Posts: 149


October 06, 2008, 08:42:20 PM

Aunti's analogy is a good one, only it seems to be more appropriate for the various part of the operating system (kernel, libraries, activities).

If we're playing with analogies here, I think that a better analogy for firmware would be that little part of the brain that somehow drags us from waking up (turning on the computer) to our first cup of coffee (loading the kernel).  Once we're fully awake we usually ignore that part of the brain because noone wants to hang around people who are controlled by that grumpy part of the brain.

More properly speaking, when the computer starts up, it doesn't know how to do very much.  It doesn't know how to display stuff to the screen or make a peep through the speakers.  It doesn't know how to get commands from the user from the keyboard or mouse.  It doesn't even know how to load an operating system from the disk (or flash memory).  Its brain is a pretty blank slate that doesn't know how to control it's body.  It only knows how to recall stuff from its almost blank memory (the RAM is blank, the firmware is not), remember stuff for future use, and do a bit of logic.  Overall I would say that's pretty good because I can't do half of that after waking up. Sad  Anyway, one of the first things the brain does is recall whatever it can from the firmware.  That's important because the little bit that it does remember tells it how to use its body, including a few streches to make sure everything is working and ready for the kernel.  Once its body is ready, it starts loading up the kernel from the disk (or flash) then the home-making analogy kicks in.  But the firmware is virtually ignored at that point.

In a way, it's kinda sad that the firmware is virtually ignored, because the XO's firmware is pretty much an OS in its own right.  It is also worth noting that, outside the world of computers, firmware may never hand control to an OS.  That's because firmware is just a program that's closely associated with the hardware.
Logged

#6 Re: What is firmware?

OtherMichael
Contributor
*
Posts: 39



WWW
October 07, 2008, 06:33:06 AM

There some good technical/historical info here:
http://wiki.laptop.org/go/Open_Firmware
and this guy had fun with firmware: http://lukego.livejournal.com/tag/olpc+forth
Logged

#7 Re: What is firmware?

davewa
Master Contributor
***
Posts: 352


G1G1D1P4


WWW
October 07, 2008, 07:12:54 AM

Just to drag this topic 90 degrees, once upon a time the term "firmware" meant the code that allowed the hardware to implement the instruction set, not "software in a ROM" -- which is what the OFW of the XO or the BIOS of a PC is.
Logged

#8 Re: What is firmware?

Jordan
Senior Contributor
**
Posts: 149


October 07, 2008, 10:54:21 AM

@davewa: isn't that what people call microcode these days?
Logged

#9 Re: What is firmware?

davewa
Master Contributor
***
Posts: 352


G1G1D1P4


WWW
October 07, 2008, 01:11:14 PM

@davewa: isn't that what people call microcode these days?
yep.  About 20 years ago, I used to do it.  IIRR, we had a 68-bit microinstruction word.  The processor was a 32-bit bit-slice engine made from 4-bit AMD2901 chips.  The microcode let us run PICK BASIC as our machine language.
Logged

#10 Re: What is firmware?

teapot
OLPC News Forum Expert
****
Posts: 662



WWW
October 08, 2008, 03:38:18 AM

Microcode (code that implements instruction set that is provided by CPU) was always microcode.

What is now called firmware, at various times was called a monitor or loader (some modern bootloaders such as GRUB that run on top of actual firmware/BIOS, often implement some features typically provided by firmware).

Often the term "firmware" is extended to "all software that is factory-installed in the device's ROM or loaded into RAM, and is not intended to be modified over the regular use of the device". The infamous /lib/firmware/usb8388.bin file is this kind of firmware for a Marvell wireless adapter -- it contains the code (very closed one, BTW, with its own little kernel and protocols implementations) that runs on ARM CPU in the adapter. Sugar would count as this kind of "firmware" if it wasn't intended to be modified and developed.
Logged

#11 Re: What is firmware?

BeckyJ
Senior Contributor
**
Posts: 197


October 08, 2008, 11:38:51 AM

Is there a "best fit" between the latest firmware and a particular build from 656 forward?
« Last Edit: October 08, 2008, 07:36:34 PM by BeckyJ » Logged
Pages: [1]
Print
Jump to:  

Members
Total Members: 2406
Latest: sembik
Stats
Total Posts: 31943
Total Topics: 3843
Online Today: 30
Online Ever: 238
(April 18, 2011, 09:48:50 PM)
Users Online
Users: 0
Guests: 21
Total: 21