사실 라즈베리파이는 컨셉 자체가 미니 컴퓨터이기 때문에...
이것을 이용해 임베디드 플랫폼으로 쓰는 것은 소 잡는 칼로 닭 잡는 격입니다.
1~2달러 내외의 아두이노 호환 보드를 쓰는 것이 훨씬 적절한 선택이지요.
하지만 좀 애매한 포지션의 플랫폼이 필요할 때가 종종 있습니다.
완전 간단한 것이라면 아두이노를 쓰겠지만...
어느 정도 성능이 필요하다면... 갑자기 선택에 난항이 옵니다.
이때 라즈베리파이 수준의 성능을 가진 임베디드 개발 보드는 생각 이상으로 고가라는 사실을 알게 될 것입니다.
때문에 라즈베리파이를 임베디드 개발 플랫폼으로 쓰는 것도 고려해 볼만 한데...
문제는 이에 관련된 자료가 별로 없다는 것입니다.
물론 자료 자체는 충분히 많이 공개되어 있습니다만...
다들 리눅스 올리고 그 위에서 뭔가를 하는 구조라서... 너무 복잡하고 거대합니다.
그래서 개인적으로 최대한 심플하게 라즈베리파이에 간단한 OS를 올리고,
여기에서 GPIO를 액세스 하는 예제를 만들어 봤습니다.
그 과정을 간단히 영상으로 만들어 놨으니...
혹 관심 있으신 분은 한번 보시기 바랍니다. ^^
기본적으로 32비트인 라즈베리파이 모델B를 대상으로 했습니다.
좀 오래되어 쓸모가 거의 없어져 굴러다니는 녀석이 있다면 한번 줏어다가 이런 곳에 써먹으면 좋지 않을까요? ^^
예제를 돌리기 위해 간단히 LED 하나를 23번 핀에 연결해서 깜빡거리게 했습니다.
빌드를 위해 사전에 설치할 툴은 2가지입니다.
1. arm-none-eabi-gcc (3, 3B의 경우 64bit 버전인 aarch64-none-elf-gcc)
2. GNU make
3. msys2 (옵션. 빌드 환경은 이쪽이 좀 더 간편하다.)
영상을 보시면 아시겠지만...
일단 부트로더는 라즈베리파이 쪽에서 미리 빌드해서 제공하는 것을 그대로 다운 받아서 SD 카드에 넣어 놓으면 됩니다. (용량도 작고 파일도 몇개 안 됩니다.)
그리고 리눅스 커널 대신... 우리가 빌드한 심플한 커널을 대신 같은 SD에 복사해 넣고 돌리는 것이죠.
아주 간단합니다.
처박혀 있는 라즈베리파이 2로 한번 해봐야 겠네요. ^^
라즈3도 가능하겠죠?
현재 제 파이에는 라즈비안을 깔고 사용중인데, 부팅속도를 5초이내로 줄이고자 합니다.
지천무하님 께서 하신 방법이 대안이 될 수 있을까요??