私はボタンと複数の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です。