안녕하세요. 러찌입니다.
이번 글에서는 WAD-MX6 보드를 이용해서 GPIO 동작을 구현해 보았습니다.
위 그림에서 보시는 것과 같이 WAD-MX6 보드에는
54개의 확장 헤더 핀을 제공하고 있으며, 이 핀을 이용해서,
SPI, I2C, UART, GPIO 등의 통신 테스트를 할 수 있습니다.
또한, 3.3V 전원, 5V 전원과 GND 핀들을 제공해서
외부 장치와의 연결을 손쉽게 구성할 수 있도록 하였습니다.
i.MX6 CPU는 IOMUX를 통해 대부분의 핀들을 GPIO로 설정할 수 있고,
그렇기 때문에 필요하다면 SPI, I2C, UART 핀들도 GPIO로 사용 가능합니다.
저는 위 그림과 같이, 외부 모듈들(LED, Switch)을 이용해서 테스트 해보았습니다.
각 모듈에 나오는 전원과 그라운드, 그리고 데이타 핀을 WAD-MX6 보드의
확장 핀에 맞게 연결하여, 동작이 잘 되는지 테스트하였습니다.
GPIO로 설정된 PIN들은 어플리케이션에서 Input / Output으로 설정이 가능하도록 하였고,
Input 모드인 경우에는 여러가지 인터럽트 방식으로 설정할 수 있도록 하였습니다.
GPIO 스트림 디바이스 드라이버를 만들어서, 어플리케이션에서의 핀 설정값을 받아
대상 핀의 GPIO 설정을 하도록 구현하였습니다.
아래 영상을 보시면 동작이 잘 되는 것을 보실 수 있습니다.
GPIO는 가장 기본적인 동작이지만, 어떤 것을 켜고 끄냐에 따라,
혹은 얼마나 빠르게 동작하냐등의 설치 환경에 따라 신뢰성과 안정성을
매우 중요하게 여기는 동작중에 하나일 것입니다.
WEC2013 운영체제는 이를 만족시켜줄 수 있는 임베디드 OS 입니다.
WAD-MX6 보드와 같은 튼튼한 하드웨어가 필수 이겠지만요^^
글 읽어주셔서 감사합니다.
좋은 하루 되십시오.
아래는 관련 영상입니다.