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

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

FPGAの部屋

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

MicroZed Chronicles: UIO をやってみる5

MicroZed Chronicles: UIO をやってみる4”の続き。

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”も参考にしている。

今回は、”MicroZed Chronicles: UIO Part One - Introduction and Set Up”に沿ってやっていく。

前回は、生成された BOOT.BIN, boot.scr, image.ub を FAT32 でフォーマットされた MicroSD カードに書いて、ZUBoard 1CG に挿入し電源ONした。Petalinux 2022.2 が立ち上がって、I2C と UIO を確認することができた。今回は、uio にマップされた物理アドレスを確認してから、gpio_0 の GPIO の接続されている PL ボタンの割り込みを確認した。更に、gpio_0 の GPIO2 に接続された D4 の RGB LED の動作を確認した。

最初に /sys/class/uio/uio4/maps/map0/addr と /sys/class/uio/uio5/maps/map0/addr を確認した。
cat /sys/class/uio/uio4/maps/map0/addr
cat /sys/class/uio/uio5/maps/map0/addr

/sys/class/uio/uio4/maps/map0/addr は
0x00000000a0030000
だった。
/sys/class/uio/uio5/maps/map0/addr は
0x00000000a0040000
だった。
zub1cg_uio_37_230913.png

次に、gpio_0 の GPIO の接続されている PL ボタンを押したときの割り込みを確認する。
cat /proc/interrupts を実行した。
zub1cg_uio_38_230913.png

gpio_0 の割り込みを設定して、PL ボタンを押すと、割り込みが入ることを確認する。
gpio_0 の割り込みを設定する。
sudo devmem 0xa003011c 32 0x80000000
sudo devmem 0xa0030128 32 0x3


SW3 の PL ボタンをクリックしてから、cat /proc/interrupts を実行した。
63 の gpio の CPU0 が 1 になっているのが分かる。
zub1cg_uio_39_230913.png

gpio_0 の GPIO2 に接続された D4 の RGB LED の動作を確認する。
sudo devmem 0xa0030008 32 0x1 を実行すると D4 の RGB LED が青に点灯した。
zub1cg_uio_40_230913.jpg

sudo devmem 0xa0030008 32 0x2 を実行すると D4 の RGB LED が緑に点灯した。
zub1cg_uio_41_230913.jpg

sudo devmem 0xa0030008 32 0x4 を実行すると D4 の RGB LED が赤に点灯した。
zub1cg_uio_42_230913.jpg
  1. 2023年09月13日 05:29 |
  2. ZUBoard
  3. | トラックバック:0
  4. | コメント:0