ベストアンサー
ストックROM /ファームウェアは、特定のデバイス用にメーカーが設計した公式ソフトウェアです。
Truly Stock ROM は、ハードウェアメーカーによるコードの外観上/機能上の変更を受けないタイプの1つです。
例: AndroidはGoogleピクセル、Nexusスマートフォンで実行されています。
メーカーまたはキャリアブランドのストックROM は、ストックファームウェアがインターフェイスの拡張、変更、およびメーカー固有のアプリケーションのインストールを受ける別の種類です。
例: Androidの実行Samsung(TouchWiz UI + Samsung Apps)、Xiaomi(MIUI +アプリ)、HTC(HTC Sense +アプリ)、Asus(ZenUI +アプリ)…
通常、ストックファームウェアは、複数のテストが行われるため、カスタムファームウェアよりも選択されます。デプロイ前のセキュリティ、安定性、バグのないパッケージの向上を保証するフェーズ
回答
ファームウェアは本質的にソフトウェアですが、ハードウェアとインターフェイスするものです。私たちが知っているソフトウェアは汎用CPUで実行するように書かれていますが、ファームウェアは特別なプロセッサで実行するように書かれています。ソフトウェアのファームウェアに大きな違いはありません。ソフトウェアでは、標準入力(キーボード)から読み取り、標準出力(画面)に書き込みますが、ファームウェアでは、ピンから読み取り(電圧レベルなど)、ピンに書き込みます(電圧レベルの変更など)。または、ソフトウェアではテキストファイルから読み取ってテキストファイルに書き込み、ファームウェアではメモリブロックから読み取ってメモリブロックに書き込みます。
ファームウェアは通常、アセンブリ、C / C ++で書き込まれます。 。ファームウェアの大きな違いの1つは、プログラムの実行が非常に決定論的であるということです。ファームウェアは、プログラムのみを実行するように作成でき、他には何も実行できません。バックグラウンドタスクはありません。それはあなたのコードとあなたのコードだけを実行します。これは、ほとんどのファームウェアにとって非常に重要です。たとえば、自動車のように、コードが実行すべきときに遅滞なく実行されることを完全に知る必要があります。ファームウェアでは、コードのみが実行されているため、特定のタスクの実行にかかる時間を正確に知ることができます。コードの逆アセンブルを確認し、命令を数え、特定のタスクを実行するのにかかる時間を正確に知ることができます。これは、OS上にある汎用CPUで実行されているソフトウェアでは実行できないことです。もちろん、ファームウェア用のOS、RTOS(リアルタイムOS)もあり、通常のPC OSと少し似ていますが、オーバーヘッドは非常に低くなっています。ただし、精度とタイミングが重要な場合は、ベアボーンファームウェアを作成します。