インテルのみ表示可能 — GUID: pde1458167736847
Ixiasoft
5.1.1. 目的
5.1.2. ソフトウェア開発プラットフォームのコンポーネントの構築
5.1.3. アプリケーションに向けたオペレーティング・システムの選択
5.1.4. Linuxに向けたソフトウェア開発プラットフォームの構築
5.1.5. ベアメタル・アプリケーションに向けたソフトウェア開発プラットフォームの構築
5.1.6. パートナーOSまたはRTOSに向けたソフトウェア開発プラットフォームの構築
5.1.7. ブート・ローダー・ソフトウェアの選択
5.1.8. 開発、デバッグおよびトレースに向けたソフトウェア・ツールの選択
5.1.9. ボードの立ち上げに関する考慮事項
5.1.10. ブートおよびコンフィグレーションに関するデザインの考慮事項
5.1.11. フラッシュ・デバイス・ドライバーに関するデザインの考慮事項
5.1.12. HPS ECCに関するデザインの考慮事項
5.1.13. セキュリティーに関するデザインの考慮事項
5.1.14. エンベデッド・ソフトウェアのデバッグとトレース
インテルのみ表示可能 — GUID: pde1458167736847
Ixiasoft
5.1.3.2. ベアメタル・アプリケーションの開発
HPSは、ベアメタル・コンフィグレーション (OSなし) で使用することができます。インテルでは、高レベルAPIおよび低レベルマクロで構成されるハードウェア・ライブラリー (HWLib) をほとんどのHPSペリフェラルに提供しています。
ベアメタル・ソフトウェアは通常、ボードの立ち上げに使用されますが、ベアメタルは実際のアプリケーション・プラットフォームとしても使用することができます。ただし、HPSに向けてベアメタル・アプリケーションを開発するには、ランタイムの機能の開発について理解し、ベアメタル・アプリケーションがMPUのサブシステムで利用可能なリソースを効率的に使用できるようにする必要があります。
次に例を示します。
- 一般的なベアメタル・アプリケーションでは、単一のコアのみが使用されます。MPUのサブシステムをフル活用するには、コアとキャッシュ・サブシステムの両方を管理するランタイムの機能を開発する必要があります。
- アプリケーションが複雑になるにつれ、プロセスの管理とスケジュール、プロセス間通信の処理、およびアプリケーション内のイベント間の同期を行う機能を構築することが必要になる場合があります。
そのため、小さなLightweight RTOSでさえも、MPUシステム・コンプレックスのリソースをより効率的に使用する簡単なスケジューリング、プロセス間通信、および割り込み処理の機能を提供します。