GPIOs in Linux
In a Linux system, GPIO lines can be managed through the sysfs using simple Bash commands; this is the easiest technique we can use to get access to these peripherals. In the following examples, we are going to use the Wandboard but we can redo them on the other systems too but using different GPIO lines, of course.
The sysfs interface to manage the GPIOs are under the /sys/class/gpio/
directory, and if we take a look at its content, we can see the following files:
root@wb:~# ls /sys/class/gpio/ export gpiochip128 gpiochip192 gpiochip64 unexport gpiochip0 gpiochip160 gpiochip32 gpiochip96
Files named gpiochip0
, gpiochip32
, and so on are related to the GPIO controller chips that are the entities that actually manage a GPIOs group. In our case, the Wandboard groups GPIOs by 32 and then each gpiochip takes its name according to the first managed GPIO number. So, gpiochip0
manages GPIOs from 0 to 31, gpiochip32
manages GPIOs from 32 to 63, and so on.
If we take a look...