Firmware and device drivers

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
Hi,
I would like to request some help in understanding the relationship
beween firmware and device drivers.
My understanding of firmware is software that is generally stored on
the ROM/EEPROM/flash of a device controller and performs specific
functions pertaining to that device.
But a device driver also helps the user in interacting with the
device. So how does the functionality of the device driver differ from
that of the firmware ? Does the device driver communicate with the
firmware to control the device or are these two mutually exclusive ?
I am newbie to this concept and would request someone to clarify the
above or provide links which clearly explain the distinction.

Thanks
-kmeson


Re: Firmware and device drivers

Quoted text here. Click to load it

If you're talking about a device that attaches to a PC, this isn't
necessarily true. An increasing number of peripherals have only a very
small bootloader built into ROM/EEPROM/FLASH. The firmware is resident
in the device driver, which uploads it to the peripheral at boot time.

Anyway, the short answer to your question is that if it runs in the
device, it's firmware - if it runs on the PC, it's a driver.


Re: Firmware and device drivers
Quoted text here. Click to load it

Which is sort of bending the original meaning of "firmware" a
bit past the breaking point, but that's the way natural
languages work.

Quoted text here. Click to load it

Unless it's a device driver within some firmware.  There are
"firmwares" that are quite large (e.g. embedded Linux systems)
and manage a diverse set of peripherals on their own. Those
firmwares contain device drivers for the various peripherals on
the board where the firmware is running.

--
Grant Edwards                   grante             Yow! Will this never-ending
                                  at               series of PLEASURABLE
We've slightly trimmed the long signature. Click to see the full one.
Re: Firmware and device drivers
Quoted text here. Click to load it

Of course you don't need a particularly large (a la Linux) firmware
image to use device drivers.  They can be useful for smaller
applications.  Asyncronous serial, SPI and IIC in particular.

Robert

--

Re: Firmware and device drivers

Quoted text here. Click to load it

Firmware is software stoered in non-volatile memory in an
embedded system.

Quoted text here. Click to load it

You're comparing apples and oranges.  Firmware might actually
contain a device drivers.

Quoted text here. Click to load it

Maybe, if the board containing the firmware on a board that is
part of a larger host system which uses a device driver to
interface with the board containing the firmware.

Quoted text here. Click to load it

The two are orthogonal.  Firmware refers to where the software
is stored.  Device driver refers to the purpose of a particular
chunk of software.

Quoted text here. Click to load it

--
Grant Edwards                   grante             Yow! Are we THERE yet?
                                  at               My MIND is a SUBMARINE!!
We've slightly trimmed the long signature. Click to see the full one.
Re: Firmware and device drivers
Quoted text here. Click to load it

Firmware is software which executes on its own in some MCU or whatever
system a device has.
 Device drivers are pieces of software which belong to an OS; they are
used by the OS device independent I/O functions (filesystem etc.)
to access various hardware, i.e. they provide a standard software
interface between the OS and various hardware which it has to access
(like an ATA disk, a SCSI disk, some USB thing, you name it).
 Thus if the firmware of some gizmo includes an OS, it is likely
it will contain its own inherent device drivers... :-).

Dimiter

------------------------------------------------------
Dimiter Popoff               Transgalactic Instruments

http://www.tgi-sci.com
------------------------------------------------------

Quoted text here. Click to load it



Re: Firmware and device drivers
Quoted text here. Click to load it

The system's firmware generally provides the required environment
for a device's firmware to exercise the device. Similarly OS
provides the environment for a device driver to make use of the
device. Although it gets interesting when you are referring an
external device with a controller e.g. external USB storage
device. In this case the device would carry it's own firmware and
the system OS (USB storage) driver would talk to the device via
USB stack implemented in the OS. The USB responses from the
external device would mainly be driven by the firmware running on it.

Regards,
Anand.


Re: Firmware and device drivers
Quoted text here. Click to load it

I have a question: Is there a place on the PC where drivers are
stored? Once they are installed; is there a particular location/path/
folder this device driver can be located? Can it be copied and pasted
into a new system, and provide functionality on the new system?
Thanks


Re: Firmware and device drivers

Quoted text here. Click to load it

Yes.  Usually in files on the hard drive.

Quoted text here. Click to load it

Usually yes.


Maybe. It depends on the OS.  You might have to configure the
OS to use the driver.  The driver may only work with particular
versions of the OS.

--
Grant

Site Timeline