私が理解するように、BSP(Board Support Package)には、OSがHWで動作するのを助けるブートローダ、カーネル、デバイスドライバが含まれています。しかし、OSにもカーネルが含まれているので、私は混乱しています。では、OSのカーネルとBSPのカーネルの違いは何ですか?組み込みボードサポートパッケージ
答えて
BSP定義が広いです。特定のボード用のサポートソフトウェアパッケージです。小さなマイクロコントローラ用のBSPにはおそらくその周辺機器用のHWドライバが含まれているだけです。一方、組み込みCPUの場合、HWドライバ、ブートローダ、OSカーネルなどが含まれている可能性があります。
したがって、BSP(ボードサポートパッケージ)のカーネルは、ボードに移植されたOSカーネルの特定のバージョンです。
BSPが構成するものはコンテキストに依存します。一般的には、特定のボード設計をサポートするためのコードまたはライブラリです。それは、ベアメタルシステムでの使用またはOSとの統合のためのボードサプライヤからの汎用コードとして提供されてもよく、または特定のOSに固有であってもよいし、OSを含むことさえできる。いずれにしても、高レベルのソフトウェアに対するボード固有のサポートを提供します。
カーネルはボードにとらわれず(プロセッサアーキテクチャに特化していることが多い)、実行されているプロセッサアーキテクチャに固有のハードウェアに直接アクセスすることはありません。通常、OSまたはアプリケーションには、ハードウェアアブストラクションレイヤー(HAL)が必要です。 HALはBSPを使用して構築されてもよく、BSPは実際にはHALであってもよい。ベンダーは、HALとOSをパッケージ化し、それをBSPとして参照することもできます。
この用語は、誰でも使用していることを意味します。コンテキストはすべてです。たとえば、VxWorksでは、WindRiverはBSPという用語を使用して、特定のハードウェア設計でVxWorksベースのアプリケーションの実行をサポートするレイヤーを参照します。一方、ボードベンダーは、ボードに移植された完全なLinuxディストリビューションを提供し、それをBSPとして参照することができます。
しかし、特定のベンダーまたは開発者がどれだけボードをサポートするかは、それがどれだけ含まれているかにかかわらずボードサポートパッケージです。
私はたぶん同じことが既に言われていると言っています。
あなたは他の(ソフトウェア)開発者に販売したいチップやボード製品を持っています。問題のチップを備えたリファレンスデザイン(ボード)が使用されています。 BSPは、ソフトウェア開発者として提供されるソフトウェアを意味する曖昧な用語です。理想的には、その製品(チップおよび/またはボード)の使用を容易にし、ソフトウェアを追加したり、開発したりすることです。したがって、Linuxやrtosなどのオペレーティングシステム対応プラットフォームで、ベンダー(BSPを提供する)は、ユーザーがオペレーティングシステムと特定のオペレーティングシステムを必要としていると考えている場合、OSをそのターゲットに移植するのではなく、それはあなたのためです。 linuxのようなものがオープンソースの場合は、どのLinuxソースをダウンロードしてからbspによって作られたパッチが追加されたか、あるいはbspには既にパッチが適用されているすべてのソースが含まれているかのいずれかが伝えられます。ドライバ、ベンダなどが必要と考えるアプリケーション。ベンダが、ボード/チップ製品を購入する顧客を引き付けるために必要と感じる場合、複数のオペレーティングシステムがサポートされる場合があります。
チップ/ボードを自分の製品にするためのソフトウェアのパッケージ全体がBSPです。
ボード上で実行できるvxWorksカーネルには、vxWorksコアカーネルと、ある環境から変更される可能性のある「その他のコンポーネント」が含まれています。 コアカーネルには、スケジューラ、メモリマネージャ、基本ファイルシステム、セキュリティ機能などの重要なプログラムが含まれています。 BSPの一部であるこれらの「その他のコンポーネント」はオプションでも、システムによって異なる場合もあり、コアのカーネル機能に役立ちます。
- 1. 組み込みアプリケーションサーバ
- 2. SSE組み込み -
- 3. 組み込みデータベース
- 4. 組み込み用のC/C++組み込み関数VMOVD
- 5. 組み込み関数/組み込み関数のテスト
- 6. Visual C++で128ビットの組み込み組み込み
- 7. 別のモジュールに組み込みアセンブリを組み込むこと
- 8. IronPython、組み込みヘルプコマンド、CLRオブジェクトを組み込む
- 9. MongoDB組み込みサブアレイパフォーマンス対
- 10. 組み込みシステムのグラフィカルインタフェース
- 11. フレームワークに組み込みComposer
- 12. Spring H2組み込みデータベースファイル?
- 13. カスタム組み込みコンボボックスチェックボックス
- 14. C++の組み込みリソース
- 15. 組み込みIfelse声明
- 16. Linux組み込みsched_setschedulerワークロード
- 17. Pythonの組み込みHTMLcalendar
- 18. 組み込みビューアAPI
- 19. 春H2組み込みデータベース
- 20. シェル組み込みリダイレクト
- 21. 組み込みLinuxのPAGE_SIZE
- 22. django組み込み広告
- 23. 組み込みシステムのmalloc
- 24. スプリングブートデータ組み込みCassandra
- 25. Wagtail/Django組み込みメインメニュー
- 26. Drupalの組み込みビュー
- 27. PHP組み込みのサーバーホスティングウェブフォント
- 28. 組み込みLinux - ブートフェーズ
- 29. Qtの組み込みデータベース
- 30. スクレイプテーブル - 組み込みシンボルは/
良い答えです。私はすでにBSPをイメージすることができました。どうもありがとうございます! – tuanpm