강좌 & 팁
안녕하세요 판다 이우영입니다.
자 오늘은 새로운 주제로 글을 쓰게 되었습니다.
다름아닌 임베디드 리눅스를 처음 접하시는 분들의 고충을 해결하고자 입문용 참고서를 만들어 볼까 합니다.
(도와주세요 답변달기가 힘들어서가 결코 아닙니다!!)
저는 학부때 부터 입사하기 전까지 대략 3년 정도 입사해서 1년 임베디드 리눅스를 접한지 4년이 되어갑니다.
(물론 접한것만 4년이고 본격적으로 한건 2년 미만입니다 ㅎㅎ 학부때는 놀기 바쁘자나요? ㅎㅎ)
생각 해보면 그당시에는 저도 매우 막막해하며 인터넷을 해매는 시절이였습니다.
(지금도 google을 해매고 있습니다. ㅠㅠ)
임베디드 리눅스를 처음하다보면 별거 아닌것에 매우 어려워 합니다.
별것 아니기 때문인지 초보자를 위한 자료도 많이 보이지 않습니다.
예를 들어 볼까요?
컴퓨터에 OS를 설치하려고 합니다. 설치하는것은 어렵지 않죠.
OS설치 cd를 CD롬에 넣고 컴퓨터의 전원을 넣으면 OS 설치를 합니다.
그럼 임베디드 보드에서는 어떻게 해야할까요?
cd롬? 그런것 달려있지 않습니다. serial cable을 연결하라고? 어떻게 해야하지?
(일반사람들은 이런거 사용하지 않습니다 ㅎ.;)
벌써 부터 막막합니다. 그렇다고 매뉴얼을 보더라도 기본 지식이 없다면 이해하기가 힘든것도 사실입니다.
그래서 이렇게 글을 쓰게 되었습니다.
1. 개발 환경? 어떻게 하는건가요?
기본적으로 요구되는 임베디드 개발환경은 비슷합니다.
PC (리눅스 or 윈도우) |
임베디드 보드 |
Serial Cable |
네트워크 환경 |
임베디드 보드에는 리눅스를 많이 사용하기 때문에 리눅스가 설치된 PC에서 개발하는것이 매우 용이합니다.
일반적으로 임베디드 보드에는 화면역활을 하는 디스플래이가 없습니다. 그럼 어떻게 해야할까요?
바로 보드의 메시지를 Serial Cable을 통해 PC에서 확인을 합니다.
또한 데이터의 전송도 Serial Cable을 이용해서 할 수 있습니다.
하지만 매우 느립니다!! 그렇게 때문에 네트워크 환경이 구축되어 있다면 매우 빠른 속도로 데이터를 주고 받을 수 있습니다.
자 필요한 것들은 일단 이렇게 알아 보았습니다.
하지만 진짜 중요한것은 PC의 환경 입니다.
이 PC의 환경을 얼마나 자기에 맞게 만드냐에 따라 작업속도나 오류등을 줄일 수 있습니다.
이 환경은 다음 링크를 통해 확실하게 이해를 하고 따라하면서 자기것으로 만드시는것을 추천드립니다.
http://forum.falinux.com/zbxe/?document_srl=573471
임베디스 개발에 있어 환경이 반이다 라는 말이 있습니다.
그만큼 매우 중요한 작업입니다. 이과정에서 무엇하나 빼먹은것이 있다면 개발에 문제 요소가 될 수 있습니다.
2. 당신은 리눅스를 사용해 본적이 있나요?
자 위에서 환경구축을 할때 우리는 리눅스를 설치했습니다.
그렇다면 당연하게도 리눅스 사용하는 것에 익숙해져야 합니다.
많은 것을 요구하는것은 아닙니다. 아직 시작하는 단계이기 때문에 간단 리눅스 명령어들,
리눅스에서 컴파일하는 방법, 에디터 사용법 등등 부터 익숙해 져야 합니다.
(DOS를 사용해 보신분이라면 접근이 빠르겠지만 요즘 나이 때를 생각하면 거의없겠죠? ㅎㅎ.)
리눅스 절대 어렵지 않습니다. 그저 익숙하지 않을뿐!!
(GUI 환경으로 접할시에는 윈도우에서 사용하시는것과 다를것이 없습니다.)
차근차근 배워나가면 됩니다.
리눅스 명령어는 인터넷 검색을 하시면 쉽게 자료를 찾으실 수 있습니다.
리눅스의 대표적 에디터인 vi 같은것도 쉽게 찾아 볼수 있습니다.
특수한 기능을 하는 명령어들은 공부를 해가시면서 자연스럽게 접하게 되어 있습니다.
자 이렇게 오늘은 임베디드의 시작에 앞서 필요한 것 중 2가지에 대해서 소개를 했습니다.
다시 한번 말씀 드리지만 이글은 뉴비를 위한 참고서 입니다.
임베디드 개발을 하기전 한번쯤 읽고 시작하면 좋은? 그런 글입니다.
지금은 간단한 소개 및 참고글등을 알려주지만
진행이 됨에 있어 점점 제가 중요시 여기며 도움이 되었던 것들을 소개 하도록 하겠습니다.
그럼 다음에 또 만나겠습니다.
저같은 초보에게 유용한 글이네요 ^^*