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

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

FPGAの部屋

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

MicroZed Chronicles: UIO をやってみる3

MicroZed Chronicles: UIO Part One - Introduction and Set Up”と”MicroZed Chronicles: UIO Part Two - Creating Software Applications”をやってみよう。なお、関連する MicroZed Chronicles のブログの”MicroZed Chronicles: IOCTL SPI, I2C and PetaLinux”も参考にしている。

前回は、出力ピンの成約が無い SPI を削除して、論理合成、インプリメンテーション、ビットストリームの生成を行ったところ成功した。ハードウェアをエクスポートして、XSA ファイルを生成した。今回は、Petalinux 2022.2 を使用して、プロジェクトを作成し、設定を行ってからビルドをして成功した。BOOT.BIN を作成した。

今回は、主に”MicroZed Chronicles: IOCTL SPI, I2C and PetaLinux”を参照している。

Petalinux 2022.2 の zub1cg_gpio プロジェクトを作成した。
cd /media/masaaki/Ubuntu_Disk/ZUBoard1CG/at_2022_2/
petalinux-create -t project -n zub1cg_gpio --template zynqMP

zub1cg_uio_16_230908.png

zub1cg_gpio ディレクトリに行って、ハードウェアをインポートした。
petalinux-config --get-hw-description=/media/masaaki/Ubuntu_Disk/ZUBoard1CG/at_2022_2/myproj

設定画面が開いた。
デフォルトのまま、セーブして終了した。
zub1cg_uio_17_230908.png

zub1cg_uio_18_230908.png

ZUBoard1CG/at_2022_2/zub1cg_gpio/project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi を書き換えた。
zub1cg_uio_19_230908.png

MZ508/petalinux/system-user.dtsi をコピー&ペーストした。
SPI のデバイス・ツリーは削除した。
zub1cg_uio_20_230908.png

/include/ "system-conf.dtsi"
/ {
    chosen {
        bootargs = "uio_pdrv_genirq.of_id=generic-uio";
    };
};
    &axi_iic_0 {
        clock-frequency = <100000>;
        status = "okay";
    };

    &axi_iic_1 {
        clock-frequency = <100000>;
        status = "okay";
    };

    &axi_iic_2 {
        clock-frequency = <100000>;
        status = "okay";

    };
    &axi_gpio_0 {
        compatible = "generic-uio";
    };
    &axi_gpio_1 {
        compatible = "generic-uio";
    };


カーネル設定を行った。
petalinux-config -c kernel

デフォルトのまま、セーブして終了した。
zub1cg_uio_21_230908.png

zub1cg_uio_22_230908.png

rootfs を設定した。
petalinux-config -c rootfs

Filesystem Packages -> base -> dnf の dnf に * を付けた。
zub1cg_uio_23_230908.png

Filesystem Packages -> base -> i2c-tools のすべての項目に * を付けた。
zub1cg_uio_24_230908.png

セーブして終了した。
zub1cg_uio_25_230908.png

ビルドを行って成功した。
petalinux-build
zub1cg_uio_26_230908.png

images/linux ディレクトリにファイルが生成されていた。
zub1cg_uio_27_230908.png

BOOT.BIN を作成した。
cd images/linux
petalinux-package --boot --fsbl zynqmp_fsbl.elf --u-boot u-boot.elf --pmufw pmufw.elf --fpga system.bit --force

zub1cg_uio_28_230908.png

images/linux/BOOT.BIN が生成された。
zub1cg_uio_29_230908.png
  1. 2023年09月09日 04:00 |
  2. ZUBoard
  3. | トラックバック:0
  4. | コメント:0