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. エンベデッド・ソフトウェアのデバッグとトレース
5.1.10.1.1. ブートソース
ガイドライン: サポートするブートソースを決定します。
-
インテル® Arria® 10 SoCのHPSは、さまざまなソースからブートすることができます。
- SD/MMCフラッシュ
- QSPIフラッシュ
- NANDフラッシュ
- FPGAファブリック
注: 複数のソースをサポートすることができます。例えば、ほとんどの開発を取り扱いが容易なSDカードを使用して行い、最終的なテストと製品リリースには、QSPIからのブートをターゲットにすることができます。
利用可能なブートソースには、それぞれに考慮するべき内容があります。
- SD カードは安価で普遍的に利用でき、大容量のストレージを備えています。信頼性が向上した産業用のバージョンが利用可能です。これらは管理されたNANDフラッシュであるため、ウェアレベリングと不良ブロック管理は内部で実行されます。
- eMMCデバイスはパッケージが小さく、大容量で利用可能であり、SDよりも高い信頼性を備えます。取外し可能ではありませんが、これは利点であり、より丈夫な操作が可能です。
- QSPIデバイスは非常に信頼性が高く、通常、セクターあたり最低100,000回の消去サイクルがあります。ただし、他のオプションと比べて容量が小さくなります。これらは通常、ブートソースとして使用されますが、アプリケーション・ファイルシステムとしては使用されません。
- NANDデバイスは大きなサイズで利用可能ですが、管理されていないNANDであるため、ウェアレベリングや不良ブロック管理などの手法をソフトウェアで実装する必要があります。
- FPGAブートでは、外部フラッシュデバイスを必要とせずにHPSをブートすることができます。FPGAブートメモリーは、FPGAリソース (通常は事前に初期されたエンベデッド・メモリー・ブロック) から合成することができます。または、外部SRAMやSDRAMなどのFPGAに接続されるメモリーにすることもできます。FPGAからブートするには、従来のコンフィグレーション・メカニズムを使用してFPGAをコンフィグレーションする必要があります。