概要
私の目的は、Intel マザーボード (C1037U プロセッサを搭載した NM70 チップセット) 上の Peppermint 4 Linux (カーネル バージョン 3.8.0) で GPIO ピンを制御することです。
sysfs インターフェイスを使用して発生している問題をデバッグしており、/sys/kernel/debug/gpio が空になる条件を理解しようとしていますか?
ピン 0 ~ 255 をエクスポートしようとすると、
echo XX > /sys/class/gpio/export
XX が 0 から 255 の場合、次のエラー メッセージが表示されます。
echo: write error: No such device
/sys/kernel/debug/gpio が空になるのはどのような状況ですか?
バックグラウンド
- マザーボード: NM70 チップセットを搭載した Intel
- プロセッサ: C1037U プロセッサ
- OS:ペパーミント4リナックス
- カーネルバージョン: 3.8.0
- GPIO インターフェース: sysfs
ファイルシステムを介してユーザー空間から GPIO ピンにアクセスできるようにする sysfs インターフェイスを使用しようとしています。
ユーザー空間でGPIOアクセスを公開し、 GPIO のデバッグ モードをオンにします。
新しいカーネルがコンパイルされると、初めて /sys/class/gpio に GPIO フォルダーが表示されました。そして、理論的には、ファイルシステムへの書き込みによって GPIO ポートのオン/オフを切り替えることができるケースになるはずです。このアプローチはhttp://falsinsoft.blogspot.co.uk/2012/11/access-gpio-from-linux-user-space.htmlで概説されています。
ピン 0 ~ 255 をエクスポートしようとすると、
echo XX > /sys/class/gpio/export
XX が 0 から 255 の場合、次のエラー メッセージが表示されます。
echo: write error: No such device
0 ~ 255 の範囲外のピンをエクスポートしようとすると、
echo XX > /sys/class/gpio/export
次のエラー メッセージが表示されます
echo: write error: Invalid argument
チュートリアルでは、GPIO ポートが別のプログラム用に予約されていることが原因である可能性があり、その場合、デバッグ ファイル (/sys/kernel/debug/gpio) はそれらが予約されている場所を示すことができると示唆しています。
ただし、/sys/kernel/debug/gpio は空です。
BIOS で GPIO ピンを表示および制御できます (ピンを入力または出力 HIGH/LOW に変更します)。