Я смог управлять GPIO с помощью системного вызова mmap для управления работой светодиодов непосредственно из пользовательского пространства. Теперь я хочу реализовать драйвер в пространстве ядра.
Я пытаюсь написать свой первый драйвер устройства пространства ядра для 16 * 2 строк ЖК-дисплея в Linux для контроллера ARM RPi. Теперь мне нужно получить доступ к GPIO для этой цели.
В AVR я использую для доступа к порту вот так.
#define PORTA *(volatile unsigned char*)0x30
Я читал, что LLD говорит использовать функции inb() и outb() для доступа к порту ввода/вывода.
http://www.makelinux.net/ldd3/chp-9-sect-2
1> Можем ли мы не использовать #define адрес порта для доступа к GPIO?
2> Каковы преимущества использования функций inb() и outb() для управления GPIO?
Пожалуйста, предложите.