Linux GPIO ABI v2 · libgpiod

GPIO ABI 버전과 출력 요청의 수명

커널 인터페이스의 v2와 사용자 공간 도구의 버전은 같은 번호 체계가 아닙니다.

ABI와 라이브러리 버전을 따로 확인합니다

Linux GPIO character-device ABI v2는 커널 인터페이스를 말합니다. 설치된 libgpiod 라이브러리와 CLI의 버전이 같다는 뜻은 아닙니다. 2022년 Toradex 문서의 옛 C API와 명령 형식을 현재 2.x 예시로 그대로 옮기지 않습니다.

설치된 도구의 버전과 gpioset --help를 먼저 대조합니다. master 문서도 개발 버전일 수 있으므로 chip·line 지정 형식과 종료 동작은 실제 배포 버전에 맞춰 확인합니다.

값 쓰기와 요청 종료를 구분합니다

출력 제어는 활성 line request의 수명 안에서 유지됩니다. gpioset 프로세스가 끝나 요청이 해제된 뒤에도 출력값이 유지된다고 보장할 수 없습니다. 잠깐 실행하고 종료한 명령은 영구 설정 절차가 아닙니다.

해제 뒤 반드시 0으로 바뀐다는 뜻도 아닙니다. 종료 후의 전기적 상태와 실제 장치 반응은 별도로 검증해야 하며, 재부팅하거나 프로세스가 비정상 종료될 때의 요구사항도 함께 설계합니다.

기존 드라이버와 GPIO 소유권을 먼저 확인합니다

SPI·I²C·PWM처럼 적합한 커널 드라이버나 하위 시스템이 있으면 그 인터페이스를 우선합니다. 이미 드라이버가 관리하는 장치를 사용자 공간 GPIO 토글로 다시 구현하지 않습니다.

gpiochip 번호와 line offset은 현재 장치의 정보로 식별합니다. 과거 보드 표의 번호를 다른 보드에 복사하지 않고, 요청 주체·설정·해제 시점을 함께 남깁니다.

버전, 요청, 실제 출력
  1. 버전 확인

    커널 ABI와 설치된 도구

  2. 요청 유지

    소유자와 해제 시점

  3. 출력 검증

    활성 중·종료 후 장치 상태

출처와 연결

GPIO character-device ABI 원문과 번역