한국어
Embedded
 

라즈베리파이2에서 RTOS기반으로 간단한 GPIO제어(LED)를 해보았다.

 

라즈베리파이의 데이터 시트는 아래의 링크를 통해 방문하면 다운로드 받을 수 있으나 더 이상 업데이트가 안 되는듯하다.

https://www.raspberrypi.org/documentation/hardware/raspberrypi/

 

데이터 시트에는 물리 주소의 시작이 0x20000000 로 나와있으나 라즈베리파이2 는 BCM2836 SOC를 사용하고 있고 물리 주소는 0x3F000000 부터 시작한다. GPIO는 여기에 0x200000 를 더한 위치부터 시작한다.

 

어쨋든 LED를 제어해 보기위해 LED를 연결해야하는데 아래 이미지를 참고하여 GPIO12에 연결하기로함.

raspberrypi2_gpio.png

아래의 이미지는 데이터 시트에서 GPIO의 기능을 설정하는 레지스터를 설명하는 일부분을 가져온것이다. LED를 제어하려면 Output으로 설정해야한다.

GPIO Function Select Registers.png

이후에는 GPIO12를 제어하기 위해 GPIO Output Set Register 0 또는 GPIO Output Clear Register 0 레지스터에서 해당 비트를 설정함으로써 LED를 ON, OFF할 수 있다.

GPIO Output Set Register 0.png

 

GPIO Output Clear Register 0.png