”
IP を追加した kr260_ip 用の Vitis アクセラレーション・プラットホームを作成する2”の続き。
”
KR260 の kr260_custom アクセラレーション・プラットホームを”IP を追加した kr260_ip 用の Vitis アクセラレーション・プラットホームを作成する2”で作成することができて、kr260_vadd アクセラレーション・アプリケーション・プロジェクトもビルドが成功した。今回は、kr260_vadd を KR260 で動作させてみよう。
最初に KR260/kr260_custom_platform/kr260_custom_platform/dtg/ip_vadd_file_trasfer ディレクトリを作成した。

KR260/kr260_custom_platform/kr260_custom_platform/dtg/dtg_kr260_ip/dtg/dtg_kr260_ip/kr260_custom/psu_cortexa53_0/device_tree_domain/bsp/pl.dtbo を ip_vadd_file_trasfer ディレクトリにコピーした。
なお、pl.dtbo は”
KR260 の kr260_custom アクセラレーション・プラットホームにいろいろな IP を追加する7”で、ハードウェア・プラットホーム上の自分で追加した IP のデバイスツリー・ソースの compatible を generic-uio に書き換えてある。
KR260/kr260_custom_platform/kr260_custom_platform/kr260_vadd_system/Hardware/binary_container_1.xclbin を ip_vadd_file_trasfer にコピーした。
shell.json は以前作成したファイルがある。KR260/kr260_custom_platform/kr260_custom_platform/dtg/ip_file_transfer ディレクトリから ip_vadd_file_trasfer ディレクトリにコピーした。

KR260/kr260_custom_platform/kr260_custom_platform/kr260_vadd/Hardware/kr260_vadd を ip_vadd_file_trasfer ディレクトリにコピーした。
現在の ip_vadd_file_trasfer ディレクトリを示す。

KR260 で Petalinux 2022.1 を起動した。
ホーム・ディレクトリに kr260_gpio_vadd ディレクトリを作成し、移動した。
mkdir kr260_ip_vadd
cd kr260_ip_vadd/FileZilla を起動して、KR260 の Petalinux 2022.1 へ SFTP で ip_vadd_file_trasfer ディレクトリのファイルを kr260_ip_vadd ディレクトリに転送した。

/lib/firmware/xilinx/kr260_ip_vadd ディレクトリを作成した。
sudo mkdir /lib/firmware/xilinx/kr260_ip_vaddbinary_container_1.xclbin の名前を binary_container_1.bin に変更する。こうしないと、XRT は FPGA ビットストリームを抽出して Kria のプログラマブル ロジックをコンフィグレーションすることができないそうだ。
mv binary_container_1.xclbin binary_container_1.binpl.dtbo binary_container_1.bin shell.json ファイルを /lib/firmware/xilinx/kr260_ip_vadd ディレクトリにコピーした。
sudo cp pl.dtbo binary_container_1.bin shell.json /lib/firmware/xilinx//kr260_ip_vadd現在、ロードされているアクセラレーション・アプリケーションをアンロードして、kr260_ip_vadd をロードする。
sudo xmutil unloadapp
sudo xmutil loadapp kr260_ip_vadd
kr260_vadd を実行したところ、”TEST PASSED”が表示されて、成功した。
./kr260_vadd binary_container_1.bin
/dev ディレクトリを見ると、uio0 〜 uio8 までが実装されている。
ハードウェア・プラットホーム上の IP が実装されている。
ハードウェア・プラットホーム上に実装した IP を動作させてみようまずは、multi_axi4ls IP を動作させてみよう。multi_axi4ls IP は AXI4-Lite インターフェース・ベースの乗算 IP だ。
”
IP を追加した KR260 の kr260_custom アクセラレーション・プラットホームで multi_axi4ls を動作させた”で vadd アクセラレーション・アプリケーションを追加しない前の状態では動作を確認してある。
cd ~/kr260_ip
sudo chmod 666 /dev/uio*
./multi_axi4ls
multi_axi4ls IP は問題なく動作している。
次に、DMA_pow2 IP を動作させてみよう。DMA_pow2 IP は 2 乗を行う IP で、レジスタは AXI4-Lite インターフェースだが、演算されるデータは AXI4 Master でリードし、演算結果も AXI Master でライトする IP だ。
”
IP を追加した KR260 の kr260_custom アクセラレーション・プラットホームで DMA_pow2 IP を動作させた”で vadd アクセラレーション・アプリケーションを追加しない前の状態では動作を確認してある。
cd
sudo insmod u-dma-buf.ko udmabuf0=0x10000
cd ~/kr260_ip/DMA_pow2_test
sudo chmod 666 /dev/udmabuf0
./DMA_pow2_test
- 2023年03月18日 07:42 |
- KR260
-
| トラックバック:0
-
| コメント:0