📢 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の操作インタフェースの公開 =====
==== GPIOの操作インタフェースの公開 ====
まず、/sys/class/gpioディレクトリにアクセスして、カーネル空間からユーザ空間にGPIOの操作インタフェースを公開する。<br>
まず、/sys/class/gpioディレクトリにアクセスして、カーネル空間からユーザ空間にGPIOの操作インタフェースを公開する。<br>
<br>
<br>
180行目: 182行目:
各レジスタの制御ピンの開始番号ベース、レジスタ名、総ピン数を含む。<br>
各レジスタの制御ピンの開始番号ベース、レジスタ名、総ピン数を含む。<br>
<br>
<br>
===== gpioカーネルモジュールのインストール =====
==== 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>