FC2カウンター FPGAの部屋 FPGA+SoC+Linux実践勉強会での課題をやってみた5(FPGA Region)
FC2ブログ

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

FPGAの部屋

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

FPGA+SoC+Linux実践勉強会での課題をやってみた5(FPGA Region)

FPGA+SoC+Linux実践勉強会での課題をやってみた4(Device Tree Overlay)”の続き。

前回は、Vivado HLS 2017.3 で作成した 2 乗倍するDMAIP をVivado 2017.3 のブロック・デザインでインスタンスして構成した回路で Device Tree Overlay を試した。今回は、それの回路で FPGA Region を使用して、ビット・ファイルをコンフィギュレーションしてみよう。

まずは、”FPGA+SoC+Linux実践勉強会資料”の38 ページの sample.dts を参照しながら fpga_dma_pow2.dts を作成した。
FPGA-SoC-Linux4ZYBO_Z7_63_171211.png

/dts-v1/; /plugin/;
/ {
  fragment@1 {
    target-path = "/amba/fpga-region0";
    #address-cells = <1>;
    #size-cells = <1>;
    __overlay__ {
      #address-cells = <1>;
      #size-cells = <1>;
      firmware-name = "test_dma_wrapper.bin";
      dma_pow2@43c00000 { 
        compatible = "generic-uio";
        reg = <0x43c10000 0x10000>;
        #interrupts = <0x0 0x1d 0x4>;
      };
    };
  };
};


Windows 10のUbuntu を使用して、”Linux の FPGA Manager で Xilinx のビットストリームファイルを扱う方法”の fpga-bit-to-bin.py をコピーした。
FPGA-SoC-Linux4ZYBO_Z7_64_171211.png

python fpga-bit-to-bin.py -f test_dma_wrapper.bit test_dma_wrapper.bin
コマンドで、test_dma_wrapper.bit を test_dma_wrapper.bin に変換した。この際に、-f オプションを付け忘れて、ツィーターで指摘してもらった。ありがとうございました。
FPGA-SoC-Linux4ZYBO_Z7_65_171211.png

cd /mnt/e で e ドライブに行って、sudo cp ~/test_dma_wrapper.bin . で test_dma_wrapper.bin をコピーした。
FPGA-SoC-Linux4ZYBO_Z7_66_171211.png

Windows の E: ドライブにコピーできた。
FPGA-SoC-Linux4ZYBO_Z7_67_171211.png

WinSCP で ZYBO Z7-20 のDebianにコピーした。
FPGA-SoC-Linux4ZYBO_Z7_68_171211.png

sudo cp test_dma_wrapper.bin /lib/firmware/ で test_dma_wrapper.bin を /lib/firmware ディレクトリにコピーした。
FPGA-SoC-Linux4ZYBO_Z7_69_171211.png

sudo dtbocfg.rb -i test_dma --dts fpga_dma_pow2.dts
を実行するとZYBO Z7 のDONE LED が点灯した。コンフィギュレーションが成功したようだ。
ls /config/device-tree/overlays を実行すると test_dma ができているのが分かった。
ls /sys/devices/soc0/amba/amba\:fpga-region0/ を見ると、 43c00000.dma_pow2 がいるのが分かった。
FPGA-SoC-Linux4ZYBO_Z7_70_171211.png

ls /dev コマンドを実行すると uio0 がいるのが分かった。
FPGA-SoC-Linux4ZYBO_Z7_71_171211.png

sudo dtbocfg.rb -r test_dma を実行して、test_dma を取り外した。
ls /config/device-tree/overlays を実行すると test_dma が無くなっているのが分かった。
ls /sys/devices/soc0/amba/amba\:fpga-region0/ を見ても、43c00000.dma_pow2 が無くなっていた。
FPGA-SoC-Linux4ZYBO_Z7_72_171212.png
  1. 2017年12月12日 04:29 |
  2. Linux
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
https://marsee101.blog.fc2.com/tb.php/4000-9b06068d
この記事にトラックバックする(FC2ブログユーザー)