Firmware and device drivers

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

Reply to
kmeson
Loading thread data ...

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.

Reply to
larwe

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

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

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.

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

--
Grant Edwards                   grante             Yow! Are we THERE yet?
                                  at               My MIND is a SUBMARINE!!
                               visi.com
Reply to
Grant Edwards

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

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
                               visi.com            EVENTS never cease?
Reply to
Grant Edwards

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

--
Posted via a free Usenet account from http://www.teranews.com
Reply to
Robert Adsett

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

formatting link

------------------------------------------------------

Reply to
Didi

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.

Reply to
Anand Misra

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

Reply to
dougmerriman

Yes. Usually in files on the hard drive.

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
Reply to
Grant Edwards

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.