FC2カウンター FPGAの部屋 2019年01月07日
FC2ブログ

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

FPGAの部屋

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

Ultra96のDisplayPortを使用するためのテスト2(デバイス・ツリーの作成)

Ultra96のDisplayPortを使用するためのテスト1(Vivado プロジェクトを作成した)”の続き。

前回は、Ultra96 ボードのDisplayPort を使ってみたいということで、ひでみさんの”FPGAの内容が薄い本”を参照して、やってみることにした。そして、SVGA のテストバターンを画像出力するIP をZynq UltraScale+ MPSoC のLiveVideo 端子に接続し、ビットストリームを生成した。今回は、生成されたビットストリーム・ファイルをUltra96 にFTP し、ビットストリームやクロックをコンフィギュレーションするDTB ファイルを作成する。

Vivado 2018.3 でハードウェアをエクスポートした。
SDK を立ち上げた。
DisplayPort_test_14_190107.png

displayport_test_wrapper.bif を作成した。

all:
{
    [destination_device = pl] displayport_test_wrapper.bit
}


コマンドを実行して、displayport_test_wrapper.bin を作成した。
bootgen -image displayport_test_wrapper.bif -arch zynqmp -w -o displayport_test_wrapper.bin
DisplayPort_test_15_190107.png

DisplayPort_test_16_190107.png

Ultra96 のDebian を立ち上げて、displayport_test_wrapper.bin をSFTP でアップロードした。
DisplayPort_test_17_190107.png

displayport_test_wrapper.bin を /lib/firmware/ にコピーした。
sudo cp displayport_test_wrapper.bin /lib/firmware/
DisplayPort_test_18_190107.png

fpga-load.dts を作成した。

/dts-v1/;
/ {
    fragment@0 {
        target-path = "/fpga-full";
        __overlay__ {
            firmware-name = "displayport_test_wrapper.bin";
        };
    };
};


fclk0-zynqmp.dts を作成した。

/dts-v1/;/plugin/;
/ {
    fragment@0 {
        target-path = "/amba";
        __overlay__ {
            fclk0 {
                compatible    = "ikwzm,fclkcfg-0.10.a";
                clocks        = <&clk 0x47>;
                insert-rate   = "40000000";
                insert-enable = <1>;
                remove-rate   = "1000000";
                remove-enable = <0>;
            };
        };
    };
};


2 つの DTS ファイルをコンパイルした。
dtc -I dts -O dtb -o fpga-load.dtb fpga-load.dts
dtc -I dts -O dtb -o fclk0-zynqmp.dtb fclk0-zynqmp.dts

DisplayPort_test_19_190107.png

lddtovray.sh と rmdtovray.sh を作成した。
lddtovray.sh

#!/bin/bash

sudo mkdir /config/device-tree/overlays/fpga
sudo cp fpga-load.dtb /config/device-tree/overlays/fpga/dtbo
sudo mkdir /config/device-tree/overlays/fclk0
sudo cp fclk0-zynqmp.dtb /config/device-tree/overlays/fclk0/dtbo


rmdtovray.sh

#!/bin/bash

sudo rmdir /config/device-tree/overlays/fclk0
sudo rmdir /config/device-tree/overlays/fpga/


  1. 2019年01月07日 06:21 |
  2. Ultra96
  3. | トラックバック:0
  4. | コメント:0