FSBLの実行状況を出力したいときが稀にあります。
そういったときは次の2点を調整してシリアル出力にデバッグ情報を出力するようにします。
前回、FSBLをコマンドラインにてビルドした環境で説明するとfsbl/zynqmp_fsbl_bspの次の2つのファイルを調整します。
ここでは次の行を見つけ出します。
#define STDIN_BASEADDRESS 0xFF000000
#define STDOUT_BASEADDRESS 0xFF000000
もし、シリアル出力がUART1を使用しているなら次のように変更します。
#define STDIN_BASEADDRESS 0xFF010000
#define STDOUT_BASEADDRESS 0xFF010000
デバッグ情報を出力するように次の行を探し出します。
#define FSBL_PRINT_VAL (1U)
#define FSBL_DEBUG_VAL (0U)
#define FSBL_DEBUG_INFO_VAL (0U)
#define FSBL_DEBUG_DETAILED_VAL (0U)
デバッグ情報の必要に応じて次のように設定します。
#define FSBL_PRINT_VAL (1U)
#define FSBL_DEBUG_VAL (1U)
#define FSBL_DEBUG_INFO_VAL (1U)
#define FSBL_DEBUG_DETAILED_VAL (1U)
前回はxsctでビルドしましたが今回はビルド環境が整っているので単純にmakeコマンドを実行するだけです。
念の為、make clean
します
$ cd fsbl
$ make clean
$ make
ビルドが完了するとexecutable.elfが生成されています。
これがデバッグ情報を出力するfsbl.elfです。
次回は「PMU Firmwareのビルド」を勉強しましょう。