AR# 69241

Zynq UltraScale+ MPSoC サンプル デザイン: ZCU102 の QSPI の XIP (Execute-in-place)

説明

このアンサーは、ZCU102 の QSPI XIP で Zynq UltraScale+ MPSoC デバイスをブートするために必要な手順を説明します。

これはフル ソリューションではなく、Zynq UltraScale+ MPSoC を使用して XIP で作業するときに便利なコンセプトをいくつか触れているため、作業の手始めに参考にしてください。


注記: サンプル デザインはアンサーに添付されており、またアンサーの本文には Zynq- で特定の機能をテストするための技術情報が記載されています。

コードの抜粋、スナップショット、図、またはザイリンクス ツールの特定バージョンでインプリメントされたデザインなどが含まれています。

ザイリンクス ツールの新しいバージョンがリリースされた場合は、これらのヒントをそれ合わせてアップデートし、サンプル デザインを必要に応じて修正するようにしてください。

これらのサンプル デザインに対するサポートには制限があります。

インプリメンテーションの詳細
デザイン タイプPS のみ
ソフトウェア タイプスタンドアロン
CPUA53-0
PS 機能QSPI (リニア モード)
PL コアなし
ザイリンクス ツール バージョン2017.2 (2017.1 bootgen には A53 の xip_mode に関してバグがあります)

ソリューション

Vivado

ZCU102 の Vivado プロジェクトを作成し、Processing System IP にブロック オートメーションを実行してから、QSPI インターフェイスを「Single」にカスタマイズします。

注記: XIP はシングル コンフィギュレーションの QSPI に対してのみサポートされています。


 

ブロック デザインを生成し、HDI ラッパーを作成して、HW を XSDK にエクスポートします。

XSDK

空のアプリケーションを作成します。この例では「mpsoc_qspi_xip」という名前にします。

添付のファイルをインポートします。

注記: XSDK でリンカー スクリプトを上書きすることを確認するメッセージが表示されるので、[Yes] をクリックします。


 

ファイル:

次の BIF ファイルを使用して bootable BOOT.bin を生成します。

//arch = zynqmp; split = false; format = BIN
the_ROM_image:
{
[bootloader, destination_cpu = a53-0, xip_mode]../mpsoc_qspi_xip/Debug/mpsoc_qspi_xip.elf
}

bootgen -arch zynqmp -image output.bif -o BOOT.bin -w

bootgen_utility コマンドを使用して、生成された BOOT.bin をテキスト形式に復号し、フラグ xip_mode がどのようにイメージ ヘッダーに影響しているのかを確認します。 

次に例を示します。

(bootgen_utility -arch zynqmp -bin BOOT.bin

詳細は (UG1137) を参照してください。

注記: 2017.1 bootgen には、xip_mode が R5 および A53-32 ビットのみのイメージで ARM ベクター表を生成するという問題があります。

次は、2017.2 バージョンの A53-64 ビットの抜粋です。


 

添付ファイル

関連添付ファイル

タイトル サイズ ファイルタイプ
mpsoc_qspi_xip.zip 13 KB ZIP
AR# 69241
日付 06/20/2017
ステータス アクティブ
種類 一般
デバイス