3

Embedded Linux System Design and Developmentを読んでいるときに、次のテキストに出くわしました。

したがって、MIPS HAL とは、MIPS プロセッサおよび MIPS プロセッサで構築されたボードのサポートを意味します。BSP について話すときは、プロセッサ サポート ソフトウェアを持たず、ボードをサポートするための追加ソフトウェアだけを持つソフトウェアを指します。HAL は、サポートされているすべての BSP のスーパーセットとして理解でき、さらにプロセッサ固有のソフトウェアが含まれています。

ハードウェア抽象化レイヤーとは正確には何ですか (Linux に関して言えば) ? これは何らかの形で BSP に関連していますか? 私の理解では、BSP は、ブートローダー、カーネル コア、周辺機器用の特定のドライバーなどのボード固有のコードです。HAL は BSP のスーパーセットとしてどのように登場しますか?

4

1 に答える 1

1

HAL は Linux 固有の概念ではないと思います。つまり、サブシステムやコードの適切な論理グループではありません。他の概念を説明するために、著者がそれを導入した可能性があります。ある意味では、オペレーティング システム カーネルは、ハードウェアを抽象化し、ユーザー空間への統一されたインターフェイスを提供するため、HAL として説明できます。したがって、正確な答えは本の文脈でのみになります。

ベア メタル/RTOS ベースの組み込みシステムでは、HAL レイヤーが存在する場合は、ドライバーや物理コンポーネント (ペリフェラルやマイクロ コントローラーをペリフェラルに接続するバスなど) が下にある場合でも、同じ API を上位レイヤーに提供するために、ドライバーの上に配置されます。 ) 変化する。これは、HAL が有効になる前に実行されるボード起動コードまたはブートローダーとは異なります。

それがあなたの質問に対処することを願っています。

于 2016-11-16T06:01:43.953 に答える