/sys/class/gpioファイルインタフェース操作IOポート(s 3 c 2440)
2813 ワード
詳細0
組み込み機器におけるGPIOの動作は最も基本的な動作である.一般的な方法は単独ドライバを書くことであり、ネット上の多くの例はこのようなものです.実はlinuxの下には一般的なGPIO操作インタフェースがあります.それは私が紹介する「/sys/class/gpio」方式です.
まず、システムに「/sys/class/gpio」というフォルダがあるかどうかを見てみましょう.カーネルをコンパイルしていない場合はDevice Drivers—>GPIO Support—>/sys/class/gpio/...(sysfs interface)を加えてください.
/sys/class/gpioの使用説明:
次に2440でテストを行います
1.GPIO情報を取得し、端末に以下のコマンドを打ち込む
端末には次のように表示されます.
2.GPIO番号の計算
GPE 11をLED制御に使用した.
GPE 0のヘッダは128,GPE 11は128+11=139である.
ls gpio 139というディレクトリがあるかどうか見てみましょう
3.GPIO制御テスト.
LEDを制御するので出力です.
だから私たちは実行すべきです
あとで出力設定ができます.
or
組み込み機器におけるGPIOの動作は最も基本的な動作である.一般的な方法は単独ドライバを書くことであり、ネット上の多くの例はこのようなものです.実はlinuxの下には一般的なGPIO操作インタフェースがあります.それは私が紹介する「/sys/class/gpio」方式です.
まず、システムに「/sys/class/gpio」というフォルダがあるかどうかを見てみましょう.カーネルをコンパイルしていない場合はDevice Drivers—>GPIO Support—>/sys/class/gpio/...(sysfs interface)を加えてください.
/sys/class/gpioの使用説明:
01
gpio_operation /sys/ IO GPIO
02
* GPIO /sys/
class
/gpio
03
* /sys/
class
/gpio/export GPIO
04
* /sys/
class
/gpio/unexport
05
* /sys/
class
/gpio/gpiochipX GPIO , base, ,
06
* , = +
07
* /sys/
class
/gpio/export , 12 , shell , /sys/
class
/gpio/gpio12 , , :
08
echo 12 > /sys/
class
/gpio/export
09
* direction , ,
10
echo out > direction
11
* direction :in, out, high, low。high/low , value 1/0。
12
* value , 1 0.
13
echo 1 > value
次に2440でテストを行います
1.GPIO情報を取得し、端末に以下のコマンドを打ち込む
1
$ cd /sys/
class
/gpio
2
$
for
i in gpiochip* ;
do
echo `cat $i/label`: `cat $i/base` ; done
端末には次のように表示されます.
1
GPIOA: 0
2
GPIOE: 128
3
GPIOF: 160
4
GPIOG: 192
5
GPIOH: 224
6
GPIOB: 32
7
GPIOC: 64
8
GPIOD: 96
2.GPIO番号の計算
GPE 11をLED制御に使用した.
GPE 0のヘッダは128,GPE 11は128+11=139である.
1
$ echo 139 >; /sys/
class
/gpio/export
ls gpio 139というディレクトリがあるかどうか見てみましょう
3.GPIO制御テスト.
LEDを制御するので出力です.
だから私たちは実行すべきです
1
$ echo out > /sys/
class
/gpio/gpio139/direction
あとで出力設定ができます.
1
$ echo 1 > /sys/
class
/gpio/gpio139/value
or
1
$ echo 0 > /sys/
class
/gpio/gpio139/value