”
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_gpio ディレクトリに行って、ハードウェアをインポートした。
petalinux-config --get-hw-description=/media/masaaki/Ubuntu_Disk/ZUBoard1CG/at_2022_2/myproj設定画面が開いた。
デフォルトのまま、セーブして終了した。


ZUBoard1CG/at_2022_2/zub1cg_gpio/project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi を書き換えた。
MZ508/petalinux/system-user.dtsi をコピー&ペーストした。
SPI のデバイス・ツリーは削除した。

/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デフォルトのまま、セーブして終了した。


rootfs を設定した。
petalinux-config -c rootfsFilesystem Packages -> base -> dnf の dnf に * を付けた。

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

セーブして終了した。

ビルドを行って成功した。
petalinux-build
images/linux ディレクトリにファイルが生成されていた。

BOOT.BIN を作成した。
cd images/linux
petalinux-package --boot --fsbl zynqmp_fsbl.elf --u-boot u-boot.elf --pmufw pmufw.elf --fpga system.bit --force
images/linux/BOOT.BIN が生成された。
- 2023年09月09日 04:00 |
- ZUBoard
-
| トラックバック:0
-
| コメント:0