AR# 58584

2013.3 / 2013.4 /14.7 SDK、iMPACT、Zynq-7000 - JTAG チェーンに複数の Zynq デバイスがある場合、間接フラッシュ プログラムが機能しない

説明

JTAG チェーンには複数の Zynq デバイスがあります。 

iMPACT および SDK からの間接フラッシュ プログラムは、JTAG チェーンの最初の Zynq デバイスに対してしか機能しません。

それ以外の Zynq デバイスでフラッシュをプログラムする方法を教えてください。

ソリューション

すべての Zynq デバイスがカスケード JTAG モードで相互に接続されている場合は、ターゲット デバイス以外の Zynq デバイスを独立 JTAG モードに変更します。

たとえば、3 つの Zynq デバイスが JTAG チェーンにあり、3 番目のデバイスからフラッシュをプログラムするとします。

[ARM DAP#1] -> [PL TAP#1] -> [ARM DAP#2] -> [PL TAP#2] -> [ARM DAP#3] -> [PL TAP#3]

1 番目と 2 番目のデバイスを独立 JTAG モードに変更します。

[PL TAP#1] -> [PL TAP#2] -> [ARM DAP#3] -> [PL TAP#3]

この問題は 2014.1 で修正される予定です。

この問題を回避するには、次の手順に従ってください。

注記 : このソリューションは、2013.4 のツールを使用していること、および (ザイリンクス アンサー 59896) にあるパッチがインストールされていることが前提となっています。

このソリューションでは、QSPI へイメージをコピーするために uboot API を使用しています。

uboot ELF は、ザイリンクス ウィキ ページ こちら
から入手できます。
SDK を起動し、次の作業を行います。
 
  • JTAG チェーンにある 2 番目のデバイスに接続します。
  • PS7 を初期化します。
  • BOOT.bin を DDR に配置します (任意のアドレスを使用できますが、0x04000000 の uboot を上書きしないでください)。
  • uboot ELF をダウンロードします。
  • 実行します。
参考までに使用するコマンドはこちらです。
connect arm hw -debugdevice devicenr 3
source ps7_init.tcl
ps7_init
dow -data BOOT.bin 0x08000000
シリアル ポートを開き、Enter キーを押してプロセスが完了しないようにします。

次に、DDR からイメージ (BIN ファイル) を QSPI にコピーするため、QSPI API を使用します。

このコマンドは次のようになります。
sf probe 0 0 0
sf erase 0 0x200000
sf write 0x08000000 0 0x200000
最後に、QSPI からブートするモード ピンを設定し、POR を実行します。
これで QSPI のブート イメージが使用されるようになります。
AR# 58584
日付 06/25/2014
ステータス アクティブ
種類 一般
デバイス
ツール