사용자 공간에서 직접 LED 동작을 제어하기 위해 mmap 시스템 호출을 사용하여 GPIO를 제어 할 수있었습니다. 이제 커널 공간에 드라이버를 구현하고 싶습니다.첫 번째 커널 공간 드라이버 - 리눅스
ARM 컨트롤러 RPi 용 Linux에서 16 * 2 LCD 라인의 첫 번째 커널 공간 장치 드라이버를 쓰려고합니다. 이제 GPIO에 액세스해야합니다.
AVR에서는 이와 같이 포트에 액세스하는 데 사용합니다. 내가 LLD을 읽고 있었다
#define PORTA *(volatile unsigned char*)0x30
그것은 I/O 포트에 액세스 할 수() & OUTB() 함수 INB를 사용하도록 알려줍니다.
http://www.makelinux.net/ldd3/chp-9-sect-2
1> GPIO에 #define address port를 사용할 수 있습니까?
2> 사용하는 이점은 GPIO를 제어하기 위해 inb() & outb() 함수를 사용하는 것입니다.
좋습니다.
나는 inb()가 메모리 매핑 된 공간을 사용하는 대신 포트를 읽는 데 I/O 주소 공간을 사용한다고 생각합니다. – Katoch
나는 컴파일러 및 플랫폼 문서 – Serge
에 대해 논쟁을하지 않습니다. 프로그램의 이식성은 무엇을 의미합니까? – Katoch