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

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

FPGAの部屋

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

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

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

KR260 の kr260_custom アクセラレーション・プラットホームにいろいろな IP を追加してみようということで、前回は、KR260 の Petalinux 2022.1 に必要なパッケージをインストールした。今回は、PL デザインのデバイスツリー・オーバレイを生成して、KR260 の Petalinux に転送するファイルを集めて転送した。

xsct を使って、AXI GPIO デザイン用にオーバレイ・ノードを含むデバイスツリー・ソースコードを用意する。
なお、ディレクトリがたくさんできて見にくいので、dtg ディレクトリを作って、その下にディレクトリを生成することにする。
cd ../kr260_custom_platform/
mkdir dtg
xsct
hsi::open_hw_design ../kr260_custom/kr260_custom.xsa
createdts -hw ../kr260_custom/kr260_custom.xsa -zocl -platform-name kr260_custom -git-branch xlnx_rel_v2022.1 -overlay -compile -out ./dtg/dtg_kr260_ip
exit

KR260_312_230306.png

KR260_313_230306.png

createdts コマンドでエラーが出ている。ログを示す。

(base) masaaki@masaaki-H110M4-M01:/media/masaaki/Ubuntu_Disk/KR260/kr260_custom_platform/kr260_custom_platform$ xsct
rlwrap: warning: your $TERM is 'xterm-256color' but rlwrap couldn't find it in the terminfo database. Expect some problems.
                                                                                
****** Xilinx Software Commandline Tool (XSCT) v2022.1.0
  **** SW Build 3524075 on 2022-04-13-17:42:45
    ** Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.


xsct% hsi::open_hw_design ../kr260_custom/kr260_custom.xsa                      
INFO: [Hsi 55-2053] elapsed time for repository (/media/masaaki/Ubuntu_Disk/tools/Xilinx/Vitis/2022.1/data/embeddedsw) loading 11 seconds
hsi::open_hw_design: Time (s): cpu = 00:00:09 ; elapsed = 00:00:21 . Memory (MB): peak = 2412.008 ; gain = 0.000 ; free physical = 1276 ; free virtual = 34543
kr260_bd_wrapper
xsct% createdts -hw ../kr260_custom/kr260_custom.xsa -zocl -platform-name kr260_custom -git-branch xlnx_rel_v2022.1 -overlay -compile -out ./dtg/dtg_kr260_ip
INFO: Downloading DTG repo from https://github.com/Xilinx/device-tree-xlnx.git to /media/masaaki/Ubuntu_Disk/KR260/kr260_custom_platform/kr260_custom_platform/dtg/dtg_kr260_ip
Cloning into 'device-tree-xlnx'...                                              
remote: Enumerating objects: 12009, done.
remote: Counting objects: 100% (3377/3377), done.
remote: Compressing objects: 100% (748/748), done.
remote: Total 12009 (delta 2141), reused 3351 (delta 2118), pack-reused 8632
Receiving objects: 100% (12009/12009), 2.25 MiB | 6.81 MiB/s, done.
Resolving deltas: 100% (6478/6478), done.                                       
hsi::open_hw_design: Time (s): cpu = 00:00:08 ; elapsed = 00:00:08 . Memory (MB): peak = 2412.008 ; gain = 0.000 ; free physical = 987 ; free virtual = 34423
INFO: Creating platform kr260_custom at ./dtg/dtg_kr260_ip                      
Opening the hardware design, this may take few seconds.
INFO: Populating the default qemu data for the domain "device_tree_domain" from the install location /media/masaaki/Ubuntu_Disk/tools/Xilinx/Vitis/2022.1/data/emulation/platforms/zynqmp/sw/a53_standalone/qemu/
WARNING: Interrupt pin "interrupt" of IP block: "DMA_pow2_0" is not connected to any interrupt controller

WARNING: Interrupt pin "mm2s_introut" of IP block: "axi_dma_0" is not connected to any interrupt controller

WARNING: Interrupt pin "s2mm_introut" of IP block: "axi_dma_0" is not connected to any interrupt controller

WARNING: Interrupt pin "interrupt" of IP block: "axi_timer_0" is not connected to any interrupt controller

WARNING: Interrupt pin "interrupt" of IP block: "multi_axi4ls_0" is not connected to any interrupt controller

zocl:false                                                                      
ext_platform:
WARNING: axi_dma_0 connected ip is NULL for the pin M_AXIS_MM2S                 
WARNING: axi_dma_0 connected ip is NULL for the pin M_AXIS_MM2S
WARNING: ERROR: axi_dma_0: mm2s_introut port is not connected
WARNING: ERROR: axi_dma_0: s2mm_introut port is not connected
WARNING: label 'usb0' found in existing tree                                    
WARNING: label 'usb1' found in existing tree
INFO: Generating device tree                                                    
WARNING: Interrupt pin "interrupt" of IP block: "DMA_pow2_0" is not connected to any interrupt controller

WARNING: Interrupt pin "mm2s_introut" of IP block: "axi_dma_0" is not connected to any interrupt controller

WARNING: Interrupt pin "s2mm_introut" of IP block: "axi_dma_0" is not connected to any interrupt controller

WARNING: Interrupt pin "interrupt" of IP block: "axi_timer_0" is not connected to any interrupt controller

WARNING: Interrupt pin "interrupt" of IP block: "multi_axi4ls_0" is not connected to any interrupt controller

zocl:true                                                                       
ext_platform:
intr_ctrl_len:1
WARNING: axi_dma_0 connected ip is NULL for the pin M_AXIS_MM2S                 
WARNING: axi_dma_0 connected ip is NULL for the pin M_AXIS_MM2S
WARNING: ERROR: axi_dma_0: mm2s_introut port is not connected
WARNING: ERROR: axi_dma_0: s2mm_introut port is not connected
WARNING: label 'usb0' found in existing tree                                    
WARNING: label 'usb1' found in existing tree                                    
Building the BSP Library for domain  - device_tree_domain on processor psu_cortexa53_0
make: Nothing to be done for 'all'.                                             

system-top.dts:24.9-27.4: Warning (unit_address_vs_reg): /memory: node has a reg or ranges property, but no unit name
zynqmp.dtsi:811.43-815.6: Warning (pci_device_reg): /axi/pcie@fd0e0000/legacy-interrupt-controller: missing PCI reg property
xsct% exit                                                                           


”WARNING: ERROR: axi_dma_0: mm2s_introut port is not connected”が出ている。この辺りのワードで検索すると 3 個検索に引っかかった。
petalinux error mm2s_introut port is not connected
Errors whilst compiling/loading devicetree for DMA and ACP
Device tree generator error - broken between 2015.4 and 2016.

エラーは出ているが、pl.dtbi は生成されているようなので、先に進める。

デバイスツリー・オーバレイを dtc でコンパイルする。
dtc -@ -O dtb -o ./dtg/dtg_kr260_ip/dtg/dtg_kr260_ip/kr260_custom/psu_cortexa53_0/device_tree_domain/bsp/pl.dtbo ./dtg/dtg_kr260_ip/dtg/dtg_kr260_ip/kr260_custom/psu_cortexa53_0/device_tree_domain/bsp/pl.dtsi
KR260_314_230306.png

ここでもメッセージが出ているが、pl.dtbo は生成されている。
KR260_315_230306.png

ログを示す。

(base) masaaki@masaaki-H110M4-M01:/media/masaaki/Ubuntu_Disk/KR260/kr260_custom_platform/kr260_custom_platform$ dtc -@ -O dtb -o ./dtg/dtg_kr260_ip/dtg/dtg_kr260_ip/kr260_custom/psu_cortexa53_0/device_tree_domain/bsp/pl.dtbo ./dtg/dtg_kr260_ip/dtg/dtg_kr260_ip/kr260_custom/psu_cortexa53_0/device_tree_domain/bsp/pl.dtsi
./dtg/dtg_kr260_ip/dtg/dtg_kr260_ip/kr260_custom/psu_cortexa53_0/device_tree_domain/bsp/pl.dtsi:147.26-152.7: Warning (unit_address_vs_reg): /fragment@2/__overlay__/dma@80050000/dma-channel@80050000: node has a unit name, but no reg property
./dtg/dtg_kr260_ip/dtg/dtg_kr260_ip/kr260_custom/psu_cortexa53_0/device_tree_domain/bsp/pl.dtsi:153.26-158.7: Warning (unit_address_vs_reg): /fragment@2/__overlay__/dma@80050000/dma-channel@80050030: node has a unit name, but no reg property


./dtg/ip_file_transfer ディレクトリを作成して、必要なファイルを集める。
shell.json は以前作成したファイルがあるので、それをコピーする。
mkdir ./dtg/ip_file_transfer
cd ./dtg/ip_file_transfer
cp ../../vadd_file_transfer/shell.json ./
cp ../dtg_kr260_ip/dtg/dtg_kr260_ip/kr260_custom/psu_cortexa53_0/device_tree_domain/bsp/pl.dtbo ./kr260_ip.dtbo
cp ../../../kr260_custom/kr260_custom.runs/impl_1/kr260_bd_wrapper.bin ./kr260_ip.bin

KR260_316_230306.png

ip_file_transfer ディレクトリのファイルを KR260 の Petalinux に FileZilla で転送する。
最初に KR260 の /home/petalinux に kr260_ip ディレクトリを作成した。
kr260_ip ディレクトリに FileZilla でファイルを転送した。
KR260_317_230306.png
  1. 2023年03月06日 04:44 |
  2. KR260
  3. | トラックバック:0
  4. | コメント:0