インテル® Agilex™ ハード・プロセッサー・システム (HPS) のリモート・システム・アップデート・ユーザーガイド

ID 683184
日付 7/10/2020
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

ドキュメント目次

2.6. 特定のイメージのロード

SDMファームウェアは、フラッシュから特定のイメージをロードするコマンドを提供します。イメージは、ファクトリー・イメージまたはアプリケーション・イメージのうちの1つにすることができます。この機能は、U-BootおよびLIBRSUの両方からアクセスできます。

要求されたイメージのロードに失敗した場合、SDMは、コマンドの発行時に実行されていたイメージのリロードを試行します。このイメージもロードに失敗した場合、SDMはCPBで最も優先度の高いイメージのロードを試行します。CPBで最も優先度の高いイメージが失敗したイメージであった場合、CPBで2番目のイメージのロードを試行し、優先度順でポインターテーブルを走査し続けます。CPBで試行するイメージが残っていない場合、SDMはファクトリー・イメージのロードを試行します。

特定のイメージを要求するためのフローの説明については、付録のコンフィグレーション・フローの図を参照してください。

max_retry 機能をイネーブルすると、各イメージを複数回試行することができます。詳細については、コンフィグレーションが失敗した場合の再試行の項を参照してください。

注: HPSに新しいイメージをロードした場合の影響は、コールドリセットの場合と同様です。ただし、SDM HPS_COLD_nRESETピン (コンフィグレーションされている場合) は、通常のコールドリセットの場合とは異なり、SDMによってアサートされません。
SDMコマンドを呼び出して特定のイメージをロードすると、SDMによってレポートされたステートから次のスティッキー・フィールドがクリアされます。
  • failed_image
  • error_details
  • error_location
  • state

U-BootがこのSDMコマンドを発行すると、SDMはFPGAおよびHPSの両方をすぐにリセットしてワイプし、指定されたイメージのロードに進みます。

LIBRSU API rsu_slot_load_after_reboot または rsu_slot_load_factory_after_reboot が呼び出された場合、Linux*が突然停止するため、コマンドはすぐにはSDMに送信されません。代わりに、これらのLIBRSU APIにより、U-Boot SMCハンドラーは、次回 reboot Linux*コマンドが実行されたときに、指定されたアドレスでSDMコマンドを呼び出すようにメモします。これにより、要求されたイメージがロードされる前に、カーネルを正常にシャットダウンできます。

注: Linux* reboot コマンドが発行されない限り、これらのLIBRSU APIを呼び出しても効果はありません。Linux reboot コマンドは、reboot=warm パラメーターをカーネルにを渡すことによってウォームリセットをトリガーするようにコンフィグレーションされている場合も、これらのLIBRSU APIを呼び出しても効果がありません。7

詳しくは、RSUステータスおよびエラーコード を参照してください。

7 これは、linux-socfpga のリセット実装によって異なります。