チュートリアル

FSBLの作成

この章では、FSBL(First Stage Boot Loader)を生成して、boot.binを作り、FPGAの起動を確かめます。

XSDKの起動

Export Hardwareが済んだら、Launch SDKを行います。

 

D:\sdsoc\vivado_nocsi\vivado_nocsi.sdk\をワークスペースとして、XILINX SDKが起動します。

FSBLの生成

File→New→Application Projectを行います。

 

ダイアログが開くので、Project nameにfsblと入力し、Hardware Platformがzsys_wrapper_hw_platform_0になっていることを確認し、Nextを押します。

 

New Projectダイアログが開くので、Zynq FSBLを選択し、Finishを押します。

 

fsblフォルダに各種のファイルが展開され、ビルドが行われます。

 

 

Trenz用FSBLの生成

しかし、このデフォルトのFSBLのソースは使用しません。(デフォルトのFSBLでは画面が出ないため)

Trenzのサンプルプロジェクトに含まれているsw_lib\sw_apps\zynq_fsbl\srcフォルダにあるTrenz製のfsblソースを、D:\sdsoc\vivado_nocsi\vivado_nocsi.sdk\fsbl\srcフォルダに上書きコピーします。

 

このソースを2か所修正します。

 

fsbl_debug.h:62行目

#define DEBUG_GENERAL 0x00000001    /* general debug  messages */

#define DEBUG_INFO 0x00000002    /* More debug information */

#define FSBL_DEBUG_INFO /* 追加 */

 

#if defined (FSBL_DEBUG_INFO)

#define fsbl_dbg_current_types ((DEBUG_INFO) | (DEBUG_GENERAL))

#elif defined (FSBL_DEBUG)

#define fsbl_dbg_current_types (DEBUG_GENERAL)

 

fsbl_hooks.c:65行目

#include "xvtc.h"

// #define ENABLE_CAMERA /* コメントアウト */
#define DIRECT_CAMERA_VIEW

 

D:\sdsoc\vivado_nocsi\vivado_nocsi.sdk\fsbl\Debugフォルダにfsbl.elfが出来上がっています。

 

boot.binの生成

D:\sdsoc\vivado_nocsi\vivado_nocsi.sdk\fsbl\にbootというフォルダを作ります。

 

XSDKでXilinx→Create Boot Imageを実行します。

 

Create Boot Imageダイアログでは以下のように設定します。

  • Output BIF file path: D:\sdsoc\vivado_nocsi\vivado_nocsi.sdk\fsbl\boot

Output pathは 自動で設定されます。

また、Boot image partitionsは、Addを押して、

D:\sdsoc\vivado_nocsi\vivado_nocsi.sdk\fsbl\Debug\fsbl.elf

を追加し、次に

D:\sdsoc\vivado_nocsi\vivado_nocsi.runs\impl_1\zsys_wrapper.bit

を追加します。(Vivadoはプロジェクト名.runs\impl_1の下にBitStreamが生成されます)

 

ダイアログは下記のような状態になるはずです。

 

ここでCreate Imageを押すと、vivado_nocsi.sdk\fsbl\boot\BOOT.binが生成されます。