2016-11-09 19 views
4

私が理解するように、BSP(Board Support Package)には、OSがHWで動作するのを助けるブートローダ、カーネル、デバイスドライバが含まれています。しかし、OSにもカーネルが含まれているので、私は混乱しています。では、OSのカーネルとBSPのカーネルの違いは何ですか?組み込みボードサポートパッケージ

答えて

4

BSP定義が広いです。特定のボード用のサポートソフトウェアパッケージです。小さなマイクロコントローラ用のBSPにはおそらくその周辺機器用のHWドライバが含まれているだけです。一方、組み込みCPUの場合、HWドライバ、ブートローダ、OSカーネルなどが含まれている可能性があります。

したがって、BSP(ボードサポートパッケージ)のカーネルは、ボードに移植されたOSカーネルの特定のバージョンです。

5

BSPが構成するものはコンテキストに依存します。一般的には、特定のボード設計をサポートするためのコードまたはライブラリです。それは、ベアメタルシステムでの使用またはOSとの統合のためのボードサプライヤからの汎用コードとして提供されてもよく、または特定のOSに固有であってもよいし、OSを含むことさえできる。いずれにしても、高レベルのソフトウェアに対するボード固有のサポートを提供します。

カーネルはボードにとらわれず(プロセッサアーキテクチャに特化していることが多い)、実行されているプロセッサアーキテクチャに固有のハードウェアに直接アクセスすることはありません。通常、OSまたはアプリケーションには、ハードウェアアブストラクションレイヤー(HAL)が必要です。 HALはBSPを使用して構築されてもよく、BSPは実際にはHALであってもよい。ベンダーは、HALとOSをパッケージ化し、それをBSPとして参照することもできます。

この用語は、誰でも使用していることを意味します。コンテキストはすべてです。たとえば、VxWorksでは、WindRiverはBSPという用語を使用して、特定のハードウェア設計でVxWorksベースのアプリケーションの実行をサポートするレイヤーを参照します。一方、ボードベンダーは、ボードに移植された完全なLinuxディストリビューションを提供し、それをBSPとして参照することができます。

しかし、特定のベンダーまたは開発者がどれだけボードをサポートするかは、それがどれだけ含まれているかにかかわらずボードサポートパッケージです。

+0

良い答えです。私はすでにBSPをイメージすることができました。どうもありがとうございます! – tuanpm

3

私はたぶん同じことが既に言われていると言っています。

あなたは他の(ソフトウェア)開発者に販売したいチップやボード製品を持っています。問題のチップを備えたリファレンスデザイン(ボード)が使用されています。 BSPは、ソフトウェア開発者として提供されるソフトウェアを意味する曖昧な用語です。理想的には、その製品(チップおよび/またはボード)の使用を容易にし、ソフトウェアを追加したり、開発したりすることです。したがって、Linuxやrtosなどのオペレーティングシステム対応プラットフォームで、ベンダー(BSPを提供する)は、ユーザーがオペレーティングシステムと特定のオペレーティングシステムを必要としていると考えている場合、OSをそのターゲットに移植するのではなく、それはあなたのためです。 linuxのようなものがオープンソースの場合は、どのLinuxソースをダウンロードしてからbspによって作られたパッチが追加されたか、あるいはbspには既にパッチが適用されているすべてのソースが含まれているかのいずれかが伝えられます。ドライバ、ベンダなどが必要と考えるアプリケーション。ベンダが、ボード/チップ製品を購入する顧客を引き付けるために必要と感じる場合、複数のオペレーティングシステムがサポートされる場合があります。

チップ/ボードを自分の製品にするためのソフトウェアのパッケージ全体がBSPです。

0

ボード上で実行できるvxWorksカーネルには、vxWorksコアカーネルと、ある環境から変更される可能性のある「その他のコンポーネント」が含まれています。 コアカーネルには、スケジューラ、メモリマネージャ、基本ファイルシステム、セキュリティ機能などの重要なプログラムが含まれています。 BSPの一部であるこれらの「その他のコンポーネント」はオプションでも、システムによって異なる場合もあり、コアのカーネル機能に役立ちます。

関連する問題