システムのビルド

SDSoC™ 環境では、sds++ コンパイラで main アプリケーションとハードウェア アクセラレーション関数 (PL 領域のビットストリーム) をビルドします。main() 関数と mmult ハードウェア関数をコンパイルするコマンド ラインは、次の例のようになります。

sds++ -Wall -O0 -g -I"../src" -c -fmessage-length=0 -MT"src/mmult.o" -MMD \
-MP -MF"src/mmult.d" -MT"src/mmult.o" -o "src/mmult.o" "../src/mmult.cpp" \
-sds-hw mmult mmult.cpp -sds-end -sds-sys-config a53_linux -sds-proc      \
a53_linux -sds-pf "zcu102"

この一行のコマンド ラインは、sds++ コマンドで sds-hw ブロックを処理して mmult 関数をコンパイルし、main.o オブジェクト ファイルをリンクしてターゲット アプリケーション main.elf をビルドしています。これにより、アプリケーションをブートして実行するのに必要なファイルを含む sd_card フォルダーが作成されます。

Vitis 環境では、ハードウェア カーネルと main アプリケーションは、異なるコンパイラでコンパイルされます。

  1. ホスト プログラムは、Arm 用のコンパイルおよびリンク で説明されているように、GNU Arm® クロス コンパイラ g++ でコンパイルされます。
  2. ハードウェアカーネルは、Vitis コンパイラでコンパイルおよびリンクされます。詳細は、Vitis コンパイラでのカーネルのコンパイル および カーネルのリンク を参照してください。