オペレーティングシステム(OS)を使っていないような装置では、装置の機能を提供する主要なソフトウェアとなる。OSを使っている装置では、ソフトウェアとハードウェアの仲介役としての役割を担う。パーソナルコンピューターのBIOSなどもファームウェアの一種である。基本的には装置の制御をするためのものなので、あまり変更が加えられることの無いソフトウェアである。その特徴から、多くの場合、開発言語としてアセンブリ言語が使われるが、CやC++などが使われる事もある。現在は、一般的にはフラッシュメモリーに書き込まれて出荷されるが、処理自体が非常に単純な場合、ソフトウェアではなくPLD等でそれを実現することもある。参加の案内ダウンロード↑本の。