📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
| (同じ利用者による、間の2版が非表示) | |||
| 32行目: | 32行目: | ||
オンライン上にあるGPIOに関するドキュメントの多くは、ArduinoおよびRaspberry PiのようなSoCを対象にしている。<br> | オンライン上にあるGPIOに関するドキュメントの多くは、ArduinoおよびRaspberry PiのようなSoCを対象にしている。<br> | ||
PCにおいては、SoCとは異なり、GPIOのあるPCはGPIOピンをCPUに直接統合していないが、スーパーI/Oチップ (SIO) を使用している。<br> | PCにおいては、SoCとは異なり、GPIOのあるPCはGPIOピンをCPUに直接統合していないが、スーパーI/Oチップ (SIO) を使用している。<br> | ||
<br> | |||
[[ファイル:Qt GPIO 1.png|フレームなし|中央]] | |||
<br> | <br> | ||
Qtを使用して、PCのGPIOピンを直接制御することは一般的ではないが、OSやハードウェアに依存した方法を使用することで可能である。<br> | Qtを使用して、PCのGPIOピンを直接制御することは一般的ではないが、OSやハードウェアに依存した方法を使用することで可能である。<br> | ||
| 150行目: | 152行目: | ||
sysfsを使用して、GPIOを制御することができる。<br> | sysfsを使用して、GPIOを制御することができる。<br> | ||
<br> | <br> | ||
==== GPIOの操作インタフェースの公開 ==== | |||
まず、/sys/class/gpioディレクトリにアクセスして、カーネル空間からユーザ空間にGPIOの操作インタフェースを公開する。<br> | まず、/sys/class/gpioディレクトリにアクセスして、カーネル空間からユーザ空間にGPIOの操作インタフェースを公開する。<br> | ||
<br> | <br> | ||
| 180行目: | 182行目: | ||
各レジスタの制御ピンの開始番号ベース、レジスタ名、総ピン数を含む。<br> | 各レジスタの制御ピンの開始番号ベース、レジスタ名、総ピン数を含む。<br> | ||
<br> | <br> | ||
==== gpioカーネルモジュールのインストール ==== | |||
<u>もし、gpioカーネルモジュールが無い場合は、インストールする必要がある。</u><br> | <u>もし、gpioカーネルモジュールが無い場合は、インストールする必要がある。</u><br> | ||
<br> | <br> | ||
| 232行目: | 234行目: | ||
または | または | ||
sudo make distclean -j $(nproc) # .configファイル等の設定ファイルを全て削除する | sudo make distclean -j $(nproc) # .configファイル等の設定ファイルを全て削除する | ||
<br> | |||
==== Linuxカーネルモジュールの読み込み (セキュアブートが無効の場合) ==== | |||
Linuxカーネルモジュール全体を読み込む。<br> | |||
sudo depmod -a $(uname -r) | |||
<br> | |||
PCを再起動して、gpioカーネルモジュールが正常に動作するかどうかを確認する。<br> | |||
また、gpioカーネルモジュールが正常に読み込まれているかどうかを確認する。<br> | |||
lsmod | grep gpio-it87 | |||
# または | |||
sudo modinfo gpio-it87 | |||
<br> | |||
必要であれば、F2FSモジュールをXZ形式またはZstandard形式に圧縮する。(任意)<br> | |||
# XZ形式の場合 | |||
cd /lib/modules/$(uname -r)/kernel/drivers/gpio | |||
sudo xz -f gpio-it87.ko | |||
# Zstandard形式の場合 | |||
cd /lib/modules/$(uname -r)/kernel/drivers/gpio | |||
sudo zstd --rm gpio-it87.ko | |||
<br><br> | <br><br> | ||