この演習では、lab3 のソース ファイルで sds_alloc() を malloc() に変更し、データ ムーバーがシンプル DMA からスキャッター ギャザー DMA に変更されることを確認します。
- [Project Explorer] タブで src フォルダーの下の
main.cpp をダブルクリックし、ソース エディター ビューで開きます。
- バッファーが
sds_alloc() で割り当てられている行をすべて検索して、sds_alloc() を malloc() に置き換えます。また、すべての sds_free() 呼び出しも free() に置換します。
- ファイルを保存します。
- プロジェクトの最上位フォルダーを右クリックして、[Clean Project] をクリックします。
- プロジェクトの最上位フォルダーを右クリックして、[Build Project] をクリックします。
重要: ビルド プロセスが完了するまでに、約 5 ~ 10 分かかります。
- ビルドが完了したら、[Project Explorer] タブで Release/_sds/reports/data_motion.html をダブルクリックして開きます。
- 一番右の [Connection] 行に、行列乗算の入力配列に割り当てられた DMA のタイプ (
AXIDMA_SG = スキャッター ギャザー DMA) と使用された Processing System 7 IP ポート (S_AXI_ACP) が示されます。[Accelerator Callsites] の表には、各転送に使用されるメモリ割り当てが連続なのか、ページなのかが示されます。
- 手順 2 の変更をすべて取り消して、ファイルを保存します。