ブートと OS - 2023.2 日本語

Versal アダプティブ SoC システムおよびソリューション プランニング設計手法ガイド (UG1504)

Document ID
UG1504
Release Date
2023-11-15
Version
2023.2 日本語

Versal デバイスには、パワーオン リセット後にデバイスを起動する集中型のプラットフォーム管理コントローラー (PMC) があります。Versal デバイスでは、プライマリ (JTAG、SD、eMMC、OSPI、QSPI、SelectMAP) およびセカンダリ (PCIe) を含む多様なブート モードがサポートされています。ブート タイム要件に応じて、適切なブート デバイスを選択する必要があります。

  • システムに電源投入後 100ms 以内にエンドポイントを検出する必要がある PCIe ベースのアプリケーションには、OSPI などの高速ブート デバイスを使用します。イメージを分割できるため、OSPI ブート モードで最小限のブート イメージを 100ms 以内に起動し、それより大きなブート パーティションは Tandem PCIe ブート モードで PCIe を介して転送できます。
  • 一般的なエンベデッド アプリケーションには、QSPI、SD および eMMC ブート デバイスを使用します。高集積を要するエンベデッド アプリケーションには、eMMC ブート モードを使用します。
  • 初期のシステムの立ち上げやデバッグには JTAG モードを使用します。システム デバッグを有効にするには、ブート モード ピンを JTAG に設定するか、またはタップ チェーンからブート モード レジスタを設定して JTAG モードに切り替えます。
  • 複数の Versal デバイスに対して、外部のブート制御ソリューションが 1 つ必要なアプリケーションには SelectMAP を使用します。

デバイス レベルのセキュリティを要するアプリケーションには、Versal アダプティブ SoC ハードウェアでサポートされるブート イメージの暗号化と認証機能を実装する必要があります。暗号化と認証機能を有効にすると、それに応じてシステムの起動時間が長くなります。詳細は、AMD のウェブサイトのデザイン セキュリティ ラウンジ (要登録) で 『Versal アダプティブ SoC セキュリティ マニュアル』 (UG1508) 『非対称型ハードウェアの信頼のルート セキュア ブート』 (XAPP1357)、および 『対称型ハードウェアの信頼のルート セキュア ブート』 (XAPP1358) を参照してください。ブート時間概算ツールの詳細は、サポート を参照してください。

Versal アダプティブ SoC フラッシュ ブート デバイスでは、致命的なブート エラーを回避するためのフォールバック パーティションをサポートしています。フィールド アップグレード中に、アップグレードされたイメージにエラーがある場合、PLM (Platform Loader and Manager) のフォールバック機能によってゴールデン イメージを読み込んでブート モードを回復できます。ゴールデン イメージは、その他のアップグレード イメージと同じブート デバイスに格納できます。

アプリケーション固有のユース ケースに応じて OS を選択する必要があります。バッファー管理、ロック アクセス、および複数プロセス実行時に割り込み処理を必要とするアプリケーションでは、Linux OS を使用します。これらのアプリケーションは、より高い抽象度のオープンソース Linux フレームワークを利用できます。代表的なアプリケーションには、Linux フレームワークを活用できるビデオ、 OpenCL™ 、OpenCV、ネットワーク スタックなどがあります。AMD では、XRT (ザイリンクス ランタイム) スタックを使用する Linux ランタイム サポートを提供しており、割り込み管理、カーネルの開始と停止、バッファーの割り当て、共有に対応します。XRT は、OpenCL、FFmpeg、Python ベースのフレームワークなど高レベルのソフトウェア スタックとインターフェイスできます。Linux ベースのスタックを使用する場合、オーバーヘッドが大きくなるという欠点があり、これはリアルタイム動作には適していません。また、Linux OS ではフル電力ドメイン (FPD) 電源をオンにする必要があります。大幅な消費電力削減が求められるアプリケーションには、低電力ドメイン (LPD) で動作する Arm Cortex-R5F プロセッサを使用できます。

リアルタイム処理を必要とするアプリケーションでは、Versal アダプティブ SoC の Arm Cortex-R5F プロセッサを活用できます。Arm Cortex-R5F プロセッサは、ASIL-C レベルに準拠しています。代表的なアプリケーション マッピングには、システム モニター、ハードウェア モニター、軽量スタックによるハードウェアの直接制御などがあります。機能安全アプリケーションに Arm Cortex-R5F プロセッサを使用する場合、AMD では、DDR メモリからコード アクセスする代わりに、密結合メモリ (TCM) にアプリケーション コードを配置することを推奨します。Arm Cortex-R5F プロセッサは、Linux OS のコプロセッサとしても機能し、特定のハードウェア機能を監視したり、ハードウェア ステータスを Linux アプリケーションに提供します。Linux OS と Arm Cortex-R5F 上の RTOS/ベアメタル OS 間の通信は、プロセッサ間割り込みを使用して実行できます。

Versal デバイスは仮想化をサポートしています。同じハイパーバイザーを使用する複数のゲスト OS に対して同じハードウェアを使用できます。仮想化ハードウェアを使用した場合、割り込み処理のオーバーヘッドが大きくなります。仮想化によりレイテンシが生じます。アプリケーションがレイテンシの影響を受けやすい場合は、仮想化の使用を回避してください。