FC2カウンター FPGAの部屋 2023年03月07日
fc2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

KR260 の kr260_custom アクセラレーション・プラットホームにいろいろな IP を追加する5

KR260 の kr260_custom アクセラレーション・プラットホームにいろいろな IP を追加する4”の続き。

KR260 の kr260_custom アクセラレーション・プラットホームにいろいろな IP を追加してみようということで、前回は、、PL デザインのデバイスツリー・オーバレイを生成して、KR260 の Petalinux に転送するファイルを集めて転送した。今回は、/lib/firmware ディレクトリにファイルをコピーし、PL デザインやデバイスツリー・オーバレイをロードした。/sys/devices/virtual/devlink/platform:firmware:zynqmp-firmware:clock-controller--platform: にプラットホームの IP がロードされているのが確認できた。

/lib/firmware/xilinx/kr260_ip を作成し、kr260_ip.dtbo, kr260_ip.bit.bin, shell.json をそこに転送する。
cd kr260_ip
sudo mkdir /lib/firmware/xilinx/kr260_ip
sudo cp kr260_ip.dtbo kr260_ip.bin shell.json /lib/firmware/xilinx/kr260_ip

KR260_318_230306.png

デフォルトのアプリケーションをアンロードし、kr260_ip をロードする。
sudo xmutil listapps
sudo xmutil unloadapp
sudo xmutil loadapp kr260_ip

KR260_319_230306.png

kr260_ip をロードした時のターミナルの様子を示す。
KR260_320_230306.png

ログを貼っておく。

Mar  3 12:12:15 xilinx-kr260-starterkit-20221 kernel: OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/firmware-name
Mar  3 12:12:15 xilinx-kr260-starterkit-20221 kernel: OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/resets
Mar  3 12:12:15 xilinx-kr260-starterkit-20221 kernel: OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/overlay0
Mar  3 12:12:15 xilinx-kr260-starterkit-20221 kernel: OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/overlay1
Mar  3 12:12:15 xilinx-kr260-starterkit-20221 kernel: OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/afi0
Mar  3 12:12:15 xilinx-kr260-starterkit-20221 kernel: OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/clocking0
Mar  3 12:12:15 xilinx-kr260-starterkit-20221 kernel: OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/clocking1
Mar  3 12:12:15 xilinx-kr260-starterkit-20221 kernel: OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/overlay2
Mar  3 12:12:15 xilinx-kr260-starterkit-20221 kernel: OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/DMA_pow2_0
Mar  3 12:12:15 xilinx-kr260-starterkit-20221 kernel: OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/PMOD_0
Mar  3 12:12:15 xilinx-kr260-starterkit-20221 kernel: OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/PMOD_1
Mar  3 12:12:15 xilinx-kr260-starterkit-20221 kernel: OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/PMOD_2
Mar  3 12:12:15 xilinx-kr260-starterkit-20221 kernel: OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/PMOD_3
Mar  3 12:12:15 xilinx-kr260-starterkit-20221 kernel: OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/axi_dma_0
Mar  3 12:12:15 xilinx-kr260-starterkit-20221 kernel: OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/axi_intc_0
Mar  3 12:12:15 xilinx-kr260-starterkit-20221 kernel: OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/axi_timer_0
Mar  3 12:12:15 xilinx-kr260-starterkit-20221 kernel: OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/multi_axi4ls_0
Mar  3 12:12:15 xilinx-kr260-starterkit-20221 kernel: xilinx-vdma 80050000.dma: error -EINVAL: failed to get irq
Mar  3 12:12:15 xilinx-kr260-starterkit-20221 kernel: xilinx-vdma: probe of 80050000.dma failed with error -22
Mar  3 12:12:15 xilinx-kr260-starterkit-20221 kernel: irq-xilinx: mismatch in kind-of-intr param
Mar  3 12:12:15 xilinx-kr260-starterkit-20221 kernel: zocl-drm axi:zyxclmm_drm: IRQ index 32 not found


やはり、dma でエラーが出ている。

kr260_ip のロードの前後で、どのモジュールが増えたのかを tree と diff を使って検証してみた。
現在 kr260_ip がロードされている状態で tree の結果を class_new.txt に保存した。
tree /sys/class > class_new.txt

kr260_ip をアンロードして、tree の結果を class_org.txt に保存した。
sudo xmutil unloadapp
tree /sys/class > class_org.txt


class_new.txt と class_org.txt の diff を取った。
diff class_new.txt class_org.txt > diff_class.txt
KR260_321_230307.png

diff_class.txt を示す。
KR260_322_230307.png

diff_class.txt を貼っておく。

114d113
< |   |-- platform:80000000.interrupt-controller--platform:axi:zyxclmm_drm -> ../../devices/virtual/devlink/platform:80000000.interrupt-controller--platform:axi:zyxclmm_drm
150,160d148
< |   |-- platform:firmware:zynqmp-firmware:clock-controller--platform:80000000.interrupt-controller -> ../../devices/virtual/devlink/platform:firmware:zynqmp-firmware:clock-controller--platform:80000000.interrupt-controller
< |   |-- platform:firmware:zynqmp-firmware:clock-controller--platform:80010000.gpio -> ../../devices/virtual/devlink/platform:firmware:zynqmp-firmware:clock-controller--platform:80010000.gpio
< |   |-- platform:firmware:zynqmp-firmware:clock-controller--platform:80020000.gpio -> ../../devices/virtual/devlink/platform:firmware:zynqmp-firmware:clock-controller--platform:80020000.gpio
< |   |-- platform:firmware:zynqmp-firmware:clock-controller--platform:80030000.gpio -> ../../devices/virtual/devlink/platform:firmware:zynqmp-firmware:clock-controller--platform:80030000.gpio
< |   |-- platform:firmware:zynqmp-firmware:clock-controller--platform:80040000.gpio -> ../../devices/virtual/devlink/platform:firmware:zynqmp-firmware:clock-controller--platform:80040000.gpio
< |   |-- platform:firmware:zynqmp-firmware:clock-controller--platform:80050000.dma -> ../../devices/virtual/devlink/platform:firmware:zynqmp-firmware:clock-controller--platform:80050000.dma
< |   |-- platform:firmware:zynqmp-firmware:clock-controller--platform:80060000.timer -> ../../devices/virtual/devlink/platform:firmware:zynqmp-firmware:clock-controller--platform:80060000.timer
< |   |-- platform:firmware:zynqmp-firmware:clock-controller--platform:80070000.DMA_pow2 -> ../../devices/virtual/devlink/platform:firmware:zynqmp-firmware:clock-controller--platform:80070000.DMA_pow2
< |   |-- platform:firmware:zynqmp-firmware:clock-controller--platform:80080000.multi_axi4ls -> ../../devices/virtual/devlink/platform:firmware:zynqmp-firmware:clock-controller--platform:80080000.multi_axi4ls
< |   |-- platform:firmware:zynqmp-firmware:clock-controller--platform:axi:clocking0 -> ../../devices/virtual/devlink/platform:firmware:zynqmp-firmware:clock-controller--platform:axi:clocking0
< |   |-- platform:firmware:zynqmp-firmware:clock-controller--platform:axi:clocking1 -> ../../devices/virtual/devlink/platform:firmware:zynqmp-firmware:clock-controller--platform:axi:clocking1
247,248d234
< |   |-- card1 -> ../../devices/platform/axi/axi:zyxclmm_drm/drm/card1
< |   |-- renderD128 -> ../../devices/platform/axi/axi:zyxclmm_drm/drm/renderD128
260,263d245
< |   |-- gpiochip468 -> ../../devices/platform/axi/80040000.gpio/gpio/gpiochip468
< |   |-- gpiochip476 -> ../../devices/platform/axi/80030000.gpio/gpio/gpiochip476
< |   |-- gpiochip484 -> ../../devices/platform/axi/80020000.gpio/gpio/gpiochip484
< |   |-- gpiochip492 -> ../../devices/platform/axi/80010000.gpio/gpio/gpiochip492
1028c1010
< 1020 directories, 5 files
---
> 1002 directories, 5 files


結果によると、devices/virtual/devlink/platform:firmware:zynqmp-firmware:clock-controller--platform: にデバイスがロードされている様だ。
KR260_323_230307.png

/sys/devices/platform/axi ディレクトリにもデバイスがロードされている。
KR260_324_230307.png
  1. 2023年03月07日 05:10 |
  2. KR260
  3. | トラックバック:0
  4. | コメント:0