AR# 69383

2017.1/2 Zynq UltraScale+ MPSoC: 暗号化されたビットストリームを読み込むための U-Boot サポート

説明

暗号化されたビットストリームを U-Boot を使用して読み込む方法を教えてください。

ソリューション

テスト手順:

  1. 暗号化されたビットストリーム イメージを作成します
  2. 暗号化されたイメージ (bootgen から作成) を key.bin および iv.bin と共に SD カードにコピーし、ZCU102 ボードに挿入します。
  3. XSDB で、スクリプトの zcu102.tcl (添付の images.zip ファイルに含まれている) を source zcu102.tcl;uboot として使用して、JTAG の U-boot までダウンロードします。
  4. U-boot プロンプトで Enter キーを押し、次のログに示す順序でコマンドを入力します。

ログの例:

Xilinx Zynq MP First Stage Boot Loader
Release 2017.1 Feb 8 2017 - 11:39:26
NOTICE: ATF running on XCZU9EG/silicon v1/RTL5.1 at 0xfffea000, with PMU firmware
NOTICE: BL31: Secure code at 0x60000000
NOTICE: BL31: Non secure code at 0x8000000
NOTICE: BL31: v1.3(release):2ab88e5
NOTICE: BL31: Built : 20:30:57, Feb 1 2017
PMUFW: v0.3


U-Boot 2017.01-03126-g91f8f25-dirty (Feb 10 2017 - 15:16:45 +0530) Xilinx ZynqMP ZCU102

I2C: ready
DRAM: 4 GiB
EL Level: EL2
Chip ID: xczu9eg
MMC: sdhci@ff170000: 0
** Bad device size - mmc 0 **
Using default environment

In: serial@ff000000
Out: serial@ff000000
Err: serial@ff000000
Bootmode: JTAG_MODE
Net: ZYNQ GEM: ff0e0000, phyaddr 15, interface rgmii-id

Warning: ethernet@ff0e0000 (eth0) using random MAC address - 0a:f4:c5:21:72:fc
eth0: ethernet@ff0e0000
Hit any key to stop autoboot: 0
ZynqMP> mmc info
Device: sdhci@ff170000
Manufacturer ID: 3
OEM: 5344
Name: SL16G
Tran Speed: 50000000
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 14.8 GiB
Bus Width: 4-bit
Erase Group Size: 512 Bytes
ZynqMP> load mmc 0 100000 design_1_wrapper.bit.bin
reading design_1_wrapper.bit.bin
26510908 bytes read in 1772 ms (14.3 MiB/s)
ZynqMP> load mmc 0 2000000 key.bin
reading key.bin
64 bytes read in 9 ms (6.8 KiB/s)
ZynqMP> load mmc 0 2100000 iv.bin
reading iv.bin
24 bytes read in 9 ms (2 KiB/s)
ZynqMP> fpga loads 0 100000 194863c 2000000:40 2100000:18 0
ZynqMP>

BBRAM へデバイス キーをプログラムする手順 ( XSDB から):


  1. connect 
  2. a53 ターゲットに接続します
  3. zynqmp_fsbl.elf をダウンロードします。
  4. con
  5. xilskey_bbramps_zynqmp_example_1.elf をダウンロードします (詳細は http://www.wiki.xilinx.com/xilskey を参照)
  6. con
  7. stop


暗号化されたビットストリームをデバイス キーを使用して読み込む方法:

注記: 上記の手順では、暗号化されたビットストリームを読み込むためにユーザー キーを使用しています。

デバイス キーを使用する場合は、次に示すように 0xFFFFFFFF として keyaddr およびサイズを上記コマンドに追加します。

fpga loads 0 100000 194863c ffffffff:ffffffff 2100000:18 0

デバイス キー機能は 2017.1 の一部として使用可能ではありませんが、2017.3 リリースの一部として xilfpga に追加される予定です。

2017.1 および 2017.2 用にもこれに対してアンサー レコードが作成される予定です。

下記の添付ファイルは、2017.1 または 2017.2 でこれに対して適用できる U-boot パッチです (この機能は、PMU ファームウェアの xilfpga によってサポートされる場合にのみ動作します)。

添付ファイル

関連添付ファイル

AR# 69383
日付 07/03/2017
ステータス アクティブ
種類 一般
デバイス
ツール
Boards & Kits