본문 바로가기
3. 개발 관련/정리 :: issue 와 resovle

gpio(general purpose input / out)

by kyuho.choi 2023. 4. 17.
728x90
반응형

누구나 알고 있고 너무도 범용적인 interface

- hardware 계의 ioctl system call 같은 녀석이랄까?.

이래 저래 개발하다 보니 쓰이는 내용들을 한번 쯤은 정리해야겠다 싶었다.

  • CPU/AP 에서는 대부분의 기능이 내장되어 있다.
  • 사용자 / 제조사의 필요에 따라 임의로 사용하고 싶은 기능은 GPIO로 구현한다(hw/sw)
  • ie. i2c device 가 이미 많이 물려있어 다른 채널에 물리고 싶다(그럴일은 없지만...). i2c 장치를 gpio pin(scl/sda)에 연결하여 구현하고 bitbanging driver를 구현 or enable
  • qualcomm SoC의 경우 gpio 의 확장기능을 좀 더 편하게 쓸 수 있도록 OS/커널 초기화 시 config 기능도 지원한다. 역시 메이커는 메이커
  • gpio를 이용한 trigger : edge or pulse 로 상황에 따라 다르게 설정
  • gpio to interrupt : gpio 를 input으로 설정하여 irq pin 으로 등록하여 사용

예전 커널의 경우 gpio control/data 등을 직접 gpio마다 드라이버 내에서 조작해야 했으나, 요즘은 sysfs 등으로 편하게 제어/조작 할 수 있도록 지원되어 사용이 자유롭다.

728x90
반응형

댓글