5.1. 概要
5.2. ソフトウェア開発プラットフォームのコンポーネントの組み立て
5.3. ゴールデン・ハードウェア・リファレンス・デザイン (GHRD)
5.4. アプリケーションのオペレーティング・システムの選択
5.5. Linuxに向けたソフトウェア開発プラットフォームの構築
5.6. ベアメタル・アプリケーションに向けたソフトウェア開発プラットフォームの構築
5.7. パートナーOSまたはRTOSに向けたソフトウェア開発プラットフォームの構築
5.8. ブートローダー・ソフトウェアの選択
5.9. 開発、デバッグ、およびトレースに向けたソフトウェア・ツールの選択
5.10. ブートおよびコンフィグレーションにおける考慮事項
5.11. システムリセットにおける考慮事項
5.12. フラッシュの考慮事項
5.13. エンベデッド・ソフトウェアのデバッグとトレース
5.14. インテル® Stratix® 10 SoC FPGA向けエンベデッド・ソフトウェアのデザイン・ガイドライン改訂履歴
5.4.2. ベアメタル・アプリケーションの開発
HPSはベアメタル・コンフィグレーション (オペレーティング・システムなし) で使用でき、インテルでは、高レベルAPIおよび低レベルマクロで構成されるハードウェア・ライブラリー (HWLIB) をほとんどのHPSペリフェラルに提供しています。
ベアメタル・ソフトウェアはボードの起動に通常使用されますが、ベアメタルは実際のアプリケーション・プラットフォームとしても使用できます。HPSに向けてベアメタル・アプリケーションを開発するには、ランタイム機能の開発について理解し、ベアメタル・アプリケーションがマイクロプロセッサー・ユニット (MPU) のサブシステムで利用可能なリソースを効率的に使用できるようにする必要があります。
次に例を示します。
- 一般的なベアメタル・アプリケーションは単一のコアのみを使用します。MPUのサブシステムをフル活用するには、4つのコアすべてを管理するランタイム機能を開発する必要があります。
- アプリケーションが複雑になるにつれ、プロセスの管理とスケジュール、プロセス間通信の処理、およびアプリケーション内のイベントの同期を行う機能を構築することが必要になる場合があります。
そのため、小さなLightweight RTOSでさえも、MPUサブシステムのリソースをより効率的に使用する簡単なスケジューリング、プロセス間通信、および割り込み処理機能を提供します。