what is the difference between these thing firmware ,boot loader and driver.

hi all,

i want to difference between following three things.

i)Firmware

ii)Bootloader

iii)Driver.

in my view

  Firmware - used to control one particular chip or used to transfer the data from one protocol to other type protocol.

Bootloader - used to allow the downloaded code from particular memory address.

  Driver - used to access particular device.

pls help me.

thanks in advance..........

  • Hello,

    I moved your question to Embedded.

    Here are how I would personally describe them:

    1. Firmware: a small footprint software usually found in embedded devices. For instance, the micro-code of a hard-drive or a washing machine.
    2. Bootloader: part of the firmware usually ran during the boot sequence which allows to load a new firmware to update it from SPI, USB, CAN...
    3. Driver: low level reusable set of functions used to run peripherals or work with APIs making some abstraction of the hardware. For instance, sending a function that will handle sending a character through a UART by enabling the module, setting I/Os, baudrate, parity, and then finally sending the character and handling errors.

    How does that sound?

    Alban

  • One more to the view:

    Firmware

         Messed up term, that these days mean anything from programmable logic configuration to any embedded SW.

         They even speak of an Android distribution in a smartphone as "the firmware".

    Boot loader

         As the name says - loads a system to be booted. Usually at least part of the (lowest level) boot loader is PROMed into      the system, but sometimes (like in case of JTAG) could be external. Summa summarum: a piece of code that allows      loading of a bootable system into a device's core somehow, and booting it there.

    Driver

         Usually OS-dependent piece of code that knows how to handle a device, like MMU, USB-chip, HDD, ... and that the OS      uses for operating that device. Sometimes even bare metal code module that offers a simple interface is called a driver.

  • A few electric appliances normally use embedded software, while some others rely on firmware. I would recomend to see the detailed comparison of both with real-life examples here https://www.reviewsed.com/firmware-vs-embedded-software/