Firmware vs Software-Difference between firmware and software

This page compares firmware vs software and mentions difference between firmware and software. It mentions definitions and examples of both firmware and software.


Features Firmwave Software
Definition The program or code which interfaces with hardware is known as firmware. It does not require any operating system. It runs on specifically designed processors. The program or code which runs on general purpose CPUs is known as software.
Example#1 Read operation and write operation is done using pin based on level of voltage. Read operation is done using keyboard and write operation is done using screen.
Example#2 Read operation and write operation is done with the help on memory (internal or external). Read operation and write operation is done with the help of text files.
Programming language assembly, C, C++ C, C++, VC++, labview, matlab etc.
Background tasks No Yes
Applications The firmware is developed for applications requiring direct and immediate control of the hardware. They are mainly developed for peripherals and devices controls. The software is developed for applications requiring minimal or no control of hardware. They are developed based on OSs. Some software applications works on any platform and some require run time libraries to make them run.
Operating System Firmware do not require any OS. There is specific OS developed for firmware to provide time critical functionality e.g. RTOS (Real Time Operating System). Software can be written for any OS e.g. windows, linux, unix etc.

Embedded RELATED LINKS

Microcontroller Programming
C Programming tutorial
C++ Programming tutorial
Python Programming tutorial
CPU vs DSP vs FPGA
Microcontroller vs FPGA
Microcontroller tutorial
What is microcontroller
8051 Microcontroller Architecture
Microcontroller hardware Interfacing
Microcontroller kit

What is Difference between

hub Vs switch  circuit switching Vs packet switching  firewall Vs router  HDLC Vs PPP  IGRP Vs EIGRP  router Vs bridge  switch Vs router  WLAN Vs Ethernet LAN  LAN vs WAN vs MAN 

RF and Wireless Terminologies