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..........