AR# 68657

Zynq UltraScale+ MPSoC: U-Boot を使用して機能することがわかっている QSPI フラッシュをプログラムする方法

説明

このアンサーでは、XSDK および Vivado ではまだサポートされていませんが、(Xilinx Answer 65463) で「機能することがわかっているフラッシュ デバイス」とされている QSPI フラッシュをプログラム可能かどうかを確認するために、JTAG を介して U-Boot を短時間でテストする方法について説明します。

ソリューション

1) ユーザー ボードをターゲットにして A53-0 向けに FSBL をビルドします。

2) wiki にある最新リリースのイメージからあらかじめビルドされている ATF および u-boot.elf を使用します。

http://www.wiki.xilinx.com/Zynq+Releases

3) ブータブル イメージ BOOT.bin をビルドします。

4) 下のスクリプト (ユーザー ファイルをポイントするために変更が必要になることがある) を使用して U-Boot をダウンロードして開始し、BOOT.bin を DDR にダウンロードします (すべて JTAG を介して)。

#Disable Security gates to view PMU MB target
targets -set -filter {name =~ "PSU"}
 
#By default, JTAG security gates are enabled
#This disables security gates for DAP, PLTAP and PMU.
mwr 0xffca0038 0x1ff
after 500
 
#Load and run PMU FW
targets -set -filter {name =~ "MicroBlaze PMU"}
dow xpfw.elf
con
after 500
 
#Reset A53, load and run FSBL
targets -set -filter {name =~ "Cortex-A53 #0"}
rst -processor
dow fsbl_a53.elf
con
 
#Give FSBL time to run
after 5000
stop
 
#Other SW...
dow u-boot.elf
dow bl31.elf
con
after 5000
stop
 
dow -data BOOT.bin 0x8000
con

 

5) U-Boot のコンソールで、次のコマンドを入力します。

sf probe 0 0 0
sf erase 0 size_of_BOOT.bin
sf write 0x8000 0 size_of_BOOT.bin
AR# 68657
日付 10/24/2017
ステータス アクティブ
種類 一般
デバイス