AR# 69240

Zynq UltraScale+ MPSoC サンプル デザイン: QSPI x1 (MOSI-MISO) によるプログラムおよびブート方法

説明

このザイリンクス アンサーでは、x1 (レガシMOSI-MISO) で接続された QSPI でボードをプログラムおよびブートする手順を説明します。

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

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

これらのヒントを今後のザイリンクス ツール リリースにアップデートして、サンプル デザインを必要に応じて修正することも可能です。

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

インプリメンテーションの詳細
デザイン タイプPS のみ
ソフトウェア タイプFSBL、U-Boot
CPUA53-0
PS 機能x1 モードの QSPI (レガシ MOSI-MISO)
PL コアなし
ザイリンクス ツール バージョン2017.1

ソリューション

このアンサーでは、x1 で接続されている QSPI を使用するために加える主な変更が記載されています。

Vivado Processing System IP

次に、x1 (レガシ MOSI-MISO) で QSPI を操作するために Vivado で使用されるコンフィギュレーションのスナップショットを示します。 

DQ0 が MOSI で、DQ1 が MISO です。


 

FSBL:

さまざまなパーティションを読み込むのに使用するコマンドは、x1 READ コマンドにする必要があります。

ブート モード (QSPI24 または QSPI32) によっては、初期化ファンクションをアップデートする必要があります。

QSPI24 の場合:

XFsbl_Qspi24Init() で次を変更します。

ReadCommand = FAST_READ_CMD_24BIT;

QSPI32 の場合:

XFsbl_Qspi32Init() で次を変更します。

ReadCommand = FAST_READ_CMD_32BIT;

U-Boot

QSPI シングル x1 で動作するように、QSPI に関連する DTS ノードを変更する必要があります。

次に、主な属性での変更を示します。

&qspi {
...
is-dual = <0>;
...

flash@0 {

...

spi-tx-bus-width = <1>;

spi-rx-bus-width = <1>;

...

};

};


フラッシュ プログラミング:

基準のフローで BOOT.bin を作成した後、 (Xilinx Answer 68657) MPSoC: U-Boot を使用して機能することがわかっている QSPI フラッシュをプログラムする方法」に記載されている手順に従って QSPI にプログラムできます。

QSPI x1 コンフィギュレーション向けに生成された FSBL.elf および u-boot.elf を使用してください。

フラッシュからのブート:

適切なブート モード (QSPI24 または QSPI32) を選択し、ボードに電源を入れます。

CSU ROM でも常に最も効率が高い方法でブートが試みられること(最初に QSPI を x4 で読み出そうとすること) を念頭に置いてください。

この試みがうまくいかないときに、x1 が試みられます。 

後続のフローで、上記で生成された FSBL により QSPI x1 のパーティションが読み込まれます。

AR# 69240
日付 08/21/2017
ステータス アクティブ
種類 一般
デバイス
ツール