UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 50209

14.1 EDK - ML605 の Platform Flash XL からのアプリケーションのブートロード方法

説明

このアンサーでは、オンボードの Platform Flash XL (XC128F) からアプリケーションをブートロードする方法について説明します。

ここでは、ML605、AXI_EMC、DDR3、および AXI_uartlite が使用されているものとします。

ソリューション

1) ML605 の MODE ピンが S2[1:6] = 10011X に設定されていることを確認します。
  • この方法は、『ML605 ハードウェア ユーザー ガイド』 (UG534) を参照してください。

2) XPS でハードウェアを構築します。

3) Base System Builder でデバイスとして SP605 を選択します。

4) ペリフェラルとして DDR、Linear Flash、および UARTLITE を選択します。

5) 最後のページまで [Next] をクリックし、[Finish] をクリックします。

6) MHS で次を実行します。

  • P30_CS_SEL (fpga_0_FLASH_CE_inverter_Res_pin) をグランドに接続します。
  • FPGA_FCS_B (デザインの新規信号) をメモリ コントローラーの CEN ピンに接続します。
  • Mem_ADV_LDN ポートをメモリ コントローラーに追加します。
  • Mem_ADV_LDN_net (デザインの新規信号) を PLATFORMFLASH_L_B ピンに接続します。
7) 次のものを UCF に追加します。信号名が若干異なる場合もあります。
  • Net fpga_0_FLASH_CE_inverter_Res_pin LOC=AJ12 | IOSTANDARD=LVCMOS25;
  • Net fpga_0_FLASH_Mem_ADV_LDN_pin LOC=AC23 | IOSTANDARD=LVCMOS25;
  • Net fpga_0_FLASH_Mem_FPGA_FCS_B_pin LOC=Y24 | IOSTANDARD=LVCMOS25;
8) UCF で次のものをコメント アウトします。
  • Net fpga_0_FLASH_Mem_A_pin<7> LOC=AA23  |  IOSTANDARD=LVCMOS25;
9) [Project] → [Export Hardware Design to SDK] をクリックします。
  • [Include bitstrem and BMM file] がオンになっていることを確認します。
10) SDK が起動したら、新しいザイリンクス C プロジェクトを 2 つ作成します ([File] → [New])。
  • Hello World
  • SREC Bootloader
11) 各プロジェクトのリンカー スクリプトが正しいメモリ ロケーションを指定していることを確認します (アプリケーションを右クリックし、[Generate Linker Script] をクリック)。
  • SREC Bootloader = BRAM
  • Hello World = DDR
12) SREC bootloader プロジェクトの blconfig.h ファイルを開きます。
  • アドレスを system.xml の FLASH BASEADDR + 0x00F0 0000 オフセットに設定します。
  • たとえば、FLASH が 0x7600 0000 から開始する場合は、アドレスを 0x76F0 0000 に設定します。
13) SREC bootloader プロジェクトの bootloader.c ファイルを開きます。
  • include セクションに次の行を追加します。
    • #include "xio.h"
    • #include "xparameters.h"
  • main() function の init_stdout() の下に次の行を追加します。
    • XIo_Out16(XPAR_LINEAR_FLASH_S_AXI_MEM0_BASEADDR+0x17BBE, 0x60);
    • XIo_Out16(XPAR_LINEAR_FLASH_S_AXI_MEM0_BASEADDR+0x17BBE, 0x03);

14) Ctrl + B を押して両方のアプリケーションを構築します。

15) [Xilinx Tools] → [Program FPGA] をクリックし、その ELF ファイルを選択して SREC Bootloader を FPGA にダウンロードします。

  • ボードが接続されていない場合はエラーが発生します。この操作では、DATA2MEM が実行され、SREC Bootloader を含む download.bit が取得されるだけです。
16) [Xilinx Tools] → [Program Flash] をクリックします。
  • ビットストリームで FPGA をコンフィギュレーションしておく必要があります。手順 14 のものを使用すれば問題はないはずです。

17) 「Hello World」 ELF ファイルを選択します。これは、通常 workspace_dir/hello_world_0/Debug/hello_world_0.elf にあります。

18) [Convert to Bootable SREC format] チェック ボックスをオンにします。

  • このボックスがグレー表示になっている場合は、フラッシュ ライターのウィンドウを閉じます。
  • [Xilinx Tools] → [Launch Shell] をクリックします。
  • hello_world_0/Debug ディレクトリに移動します。
  • 次のコマンドを入力します。
    • mb-objcopy O srec hello_world_0.elf hello_world_0.srec
  • シェルを最小化して、手順 15 および 16 を繰り返しますが、ELF ではなく SREC を選択します。

19) フラッシュ オフセットを 0x00F00000 に設定します。

20) フラッシュをプログラムします。

21) SDK に戻り、[Xilinx Tools] → [Launch Shell] をクリックします。

22) 次のように入力します。

  • promgen -p bin -c FF -o swapped.bin -data_file up 0 hello_world_0.srec -w
  • hello_world_0.elf.srec は、srec が保存されている場所を指定する必要があります。通常は hw_platform_0/cache の下にあります。

23) iMPACT を起動します。

24) [iMPACT Flows] パネルで [Create PROM file] をダブルクリックします。

25) [BPI Flash] → [Configure Single FPGA] を選択し、緑色の矢印をクリックします。

26) 手順 2 で「Virtex-6」を選択します。

27) XC128F [128M] を選択します。

28) 緑色の矢印をクリックします。

29) 保存場所を選択します。

30) [File Format] を [MCS] に設定します。

31) [Data Width] を [x16] に設定します。

32) [Add Non-Configuration Files] を [Yes] に設定します。

33) [OK] をクリックします。

34) 「Start adding device file to Revision 0」というメッセージが表示されたら [OK] をクリックします。

35) hw_platform_0/ フォルダーにある download.bit を選択します。

36) ほかのデバイス ファイルを追加しないでください。

37) 手順 18 で作成した swapped.bin ファイルをコンフィギュレーションしないデータ ファイルとして追加します。

38) アドレス 0x0078 0000 に追加します。

39) 左側で [Generate] をクリックします。

40) バウンダリ スキャンを初期化します。

41) デバイスを右クリックし、[Add SPI/BPI Flash] をクリックします。

42) 手順 25 で作成した MCS を割り当てます。

43) デバイスのフラッシュを右クリックし、[Program] をクリックします。

44) これで終了です。

AR# 50209
日付 11/23/2016
ステータス アクティブ
種類 一般
ツール
  • EDK - 14.1
このページをブックマークに追加