CONFIG_GPIO_SYSFSは/sys/class/ledsを消去します。

CONFIG_GPIO_SYSFSは/sys/class/ledsを消去します。

私はボタンと複数のLEDを含む組み込みLinuxボードを開発しています。

デフォルトでは、以下を使用してLEDを制御できます。

/sys/class/leds/redled/brightness

ただし、ボタンを監視することはできません。 CONFIG_GPIO_SYSFSを有効にすると、LEDは表示されません。 /sys/class/leds/ は空です。そして理論的には、LEDが接続されなければならないGPIOは何もしないので、ハッキングすらできません。

これら両方の機能を動作させる方法についてのアイデアはありますか?

ベストアンサー1

解決策は非常に簡単であることがわかりました。私が間違ったGPIOを刺したことがわかりました。開始オフセットは次のように定義されます。

$LINUX/arch/arm/mach-at91/include/mach/gpio.h

ように:

#define PIN_BASE    NR_AIC_IRQS

NR_AIC_IRQS は同じディレクトリの irqs.h で定義されています。

#define NR_AIC_IRQS 32

私が探しているピンはPB12とPB13です。 gpio.hには次のように定義されています。

#define AT91_PIN_PB12   (PIN_BASE + 0X20 + 12)
#define AT91_PIN_PB13   (PIN_BASE + 0X20 + 13)

だから私が探しているピンは32 + 32 + 12 = 76と77です。

おすすめ記事