FC2カウンター FPGAの部屋 Ultra96用PMOD拡張ボードでカメラ入力11(Debian上でカメラ画像を画像ファイルに1)
FC2ブログ

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

FPGAの部屋

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

Ultra96用PMOD拡張ボードでカメラ入力11(Debian上でカメラ画像を画像ファイルに1)

Ultra96用PMOD拡張ボードでカメラ入力11(Vivado 2018.2のcam_test_182プロジェクト8)”の続き。

前回は、cam_test_182 プロジェクトのビットファイルをUltra96 にダウンロードして、アプリケーションを起動し、Vivado Analyzer で動作を確かめた。ただし、動作しているという概況を見ただけで、画像データが正しいかどうかは確認していない。それはこれから、カメラ画像を画像ファイルにして、その画像ファイルを確認することで確かめていこう。今回は、デバイスツリーを作成して、ロードしてみよう。

まずは、cam_test_wrapper.bin を作成していこう。”Ultra96 ボードでデバイスツリー・オーバーレイをテストする1”を見ながらやっていこう。
まずは、パソコンで、cam_test_wrapper.bif を作成した。下に貼っておく。

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


cam_test_wrapper.bif を使ってcam_test_wrapper.bin を作成した。
bootgen -image cam_test_wrapper.bif -arch zynqmp -w -o cam_test_wrapper.bin
Ultra97_cam_capture_7_181124.png

Ultra97_cam_capture_8_181124.png

cam_test_wrapper.bin が出来たので、Ultra96 の /home/fpga/examples/cam_capture ディレクトリにSFTP でアップロードした。
Ultra97_cam_capture_9_181124.png

デバイスツリー・オーバーレイでFPGA のコンフィグレーションをやってみる。
ここからは、Ultra96 ボード上のDebian での作業となる。
fpga-load.dts を作成した。

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


bin ファイルをFTP で持ってきたので、/lib/firmware/ にコピーする。
sudo cp cam_test_wrapper.bin /lib/firmware/
ls /lib/firmware/


dtc で fpga-load.dts をコンパイルした。
dtc -I dts -O dtb -o fpga-load.dtb fpga-load.dts
Warning が出ている。

fpga-load.dtb: Warning (unit_address_vs_reg): Node /fragment@0 has a unit name, but no reg property


fpgaをコンフィグレーションしてみよう。
sudo mkdir /config/device-tree/overlays/fpga
sudo cp fpga-load.dtb /config/device-tree/overlays/fpga/dtbo
Ultra97_cam_capture_11_181124.png  

シリアル・コンソールに

[ 9987.623945] fpga_manager fpga0: writing cam_test_wrapper.bin to Xilinx ZynqMP FPGA Manager

と表示された。そして、DONE LED が点灯した。
Ultra97_cam_capture_12_181124.png

次に、デバイスツリー・オーバーレイでクロックの設定を行う。
fclk01-zynqmp.dts を作成した。

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


デバイスツリーをコンパイルした。
dtc -I dts -O dtb -o fclk01-zynqmp.dtb fclk01-zynqmp.dts
fpga-load.dts のときと同じWarning が出た。

デバイスツリーをロードする。
sudo mkdir /config/device-tree/overlays/fclk01
sudo cp fclk01-zynqmp.dtb /config/device-tree/overlays/fclk01/dtbo

Ultra97_cam_capture_13_181124.png

シリアル・コンソールにデバイスツリー・オーバーレイのメッセージが表示された。
Ultra97_cam_capture_14_181124.png

[10828.061267] fclkcfg: loading out-of-tree module taints kernel.
[10828.061269] fclkcfg: loading out-of-tree module taints kernel.
[10828.062455] fclkcfg amba:fclk0: driver installed.
[10828.062458] fclkcfg amba:fclk0: device name    : fclk0
[10828.062462] fclkcfg amba:fclk0: clock  name    : pl0_ref
[10828.062465] fclkcfg amba:fclk0: clock  rate    : 99999999
[10828.062482] fclkcfg amba:fclk0: clock  enabled : 1
[10828.062485] fclkcfg amba:fclk0: remove rate    : 1000000
[10828.062488] fclkcfg amba:fclk0: remove enable  : 0
[10828.062797] fclkcfg amba:fclk1: driver installed.
[10828.062800] fclkcfg amba:fclk1: device name    : fclk1
[10828.062803] fclkcfg amba:fclk1: clock  name    : pl1_ref
[10828.062807] fclkcfg amba:fclk1: clock  rate    : 71387421
[10828.062823] fclkcfg amba:fclk1: clock  enabled : 1
[10828.062826] fclkcfg amba:fclk1: remove rate    : 1000000
[10828.062829] fclkcfg amba:fclk1: remove enable  : 0


fclk2 は 72 MHz に設定したのだが、実際の周波数は約 71.4 MHz になったようだ。
  1. 2018年11月24日 08:08 |
  2. Ultra96
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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