質問: ファームウェアとデバイスドライバーの違いと関係 ファームウェアとデバイスドライバーはどのように異なり、関連していますか?両方の制御装置と思いますか? ファームウェアは常に自動起動しますか?ドライバーはosで実行/起動する必要がありますか?
回答: firmwareの現代的な定義または一般的な使用法は、特定のソフトウェア機能とは関係ありません。ファームウェアは、ハードドライブなどの大容量記憶装置ではなく、単に不揮発性半導体メモリ(prom、eeprom、フラッシュなど)チップに格納されるソフトウェアです。保存されたソフトウェアは、モノリシックリンクバイナリ、またはローダー、カーネル、アプリケーションモジュールで構成されます。 (otoh初期化を完了するためにlinuxカーネルによる「ファームウェア」のロードを必要とするpc用のtvチューナーカードを見たことがあります。)この用語の起源は、プロセッサ制御ロジックとハードワイヤードロジックとの関係にあります。ハードドライブに保存されているソフトウェアは、簡単に変更および更新できます。ハードワイヤードロジックの改訂と更新には、ボードまたはモジュールの再設計と交換が必要です。中盤は、ハードウェアを制御するソフトウェアを実行するプロセッサでした。ソフトウェアはfirm wareと呼ばれ、-soft wareとhard wired logicの中間点を反映しています。もともとファームウェアはromに保存されていましたpromまたはepromチップでボードのモジュール性を維持するため。eepromとフラッシュチップの進歩により、ファームウェアのインサーキットおよびオンボードの更新が可能になりました。プロセッサー(および周辺機器)の小型化と低コスト化、および電力消費量の削減により、あらゆる種類のデバイス/アプライアンスにそれらを組み込む可能性が広がりました。これらのデバイスを堅牢で安全に操作するためのソフトウェアを作成するために、ソフトウェアはハードドライブではなくフラッシュメモリチップに保存されます。また、デバイスが小さくなり、価格も大幅に安くなります。格納されたコードの一部がハードワイヤードロジックの置き換えと関係がない場合でも、ファームウェアという用語は、組み込みプロセッサを搭載したデバイス/アプライアンスのすべてのソフトウェアを含むように拡張されました。