개발 환경을 적용하기 위한 OS가 윈도우냐 리눅스냐에 따라서 설치가 조금 달라집니다만, 가장 중요한 컴파일러, 링커 등의 기본적인 Toolchain은 같은 곳에서 배포하는 패키지를 사용하면 됩니다.
나머지는 이 Toolchain을 어떻게 이용하느냐와 관련된 부분입니다.
윈도우에 eclipse를 설치해서 개발을 진행할 수도 있고, 리눅스에서 편집기와 Makefile 만을 이용해서 개발할 수도 있습니다. 물론 윈도우에서 cygwin이나 mingw를 설치해서 Makefile을 이용할 수 있는 환경을 구축하고 자신이 사용하기 편리한 편집기로 소스 편집하면서 개발할 수도 있고, 리눅스에 eclipse를 설치하고 개발을 진행하는 것도 가능합니다. Toolchain이 맥을 지원한다면 맥에서도 당연히 개발이 가능합니다. (다만, 저는 맥을 사용해본 적도 없고, 사용할 계획도 없기 때문에 잘 모릅니다. 윈도우처럼 eclipse를 사용하면 되지 않을까 합니다.)
어떤 방법이든 Toolchain은 같은 것을 사용하면 되므로 문제가 없습니다.
주목할 부분은 eclipse를 사용한다고 하더라도 그 자체만으로는 아무 것도 할 수 없다는 것입니다. eclipse는 단지(물론 아주 잘 만들어졌고, 웬만한 상용 IDE보다도 더 많은 기능을 가지고 있습니다) IDE일 뿐이며, 실제 컴파일에 사용되는 도구는 Toolchain과 Build Tools(make, rm과 같은)이기 때문에 eclipse를 사용하든 그렇지 않든 Toolchain과 Build Tools는 설치가 되어 있어야 한다는 것입니다. 제가 링크 걸어둔 싸이트의 설명을 보면 알 수 있듯이 eclipse에서는 ARM Cortex용 컴파일러와 링커의 경로를 설정하고, 디버거를 적용할 수 있는 설정만 할 뿐입니다.
물론 상용 컴파일러와 개발 환경(IAR 시리즈, Keil 등과 같은)을 구매한다면 이 포스트는 의미 없습니다.
오늘 포스트에서 언급할 내용은 누구나 사용할 수 있도록 공개되어 있는 도구입니다. (다시 말해서 구입이 필요없다는 의미입니다. 단, 윈도우나 맥 OS는 정식 라이센스가 필요합니다.)
ARM Cortex 개발 환경 구축을 위해서는 다음을 준비해야 합니다.
- Toolchain 설치
- 작업 환경 구축
- 디버거/다운로더 준비
영어긴 하지만 아래 싸이트가 개발 환경 구축과 관련해서 자세하고 정확하게 정리해놓은 곳입니다.
GNU ARM Eclipse : http://gnuarmeclipse.livius.net/blog/
제 목에서도 확인할 수 있듯이 ARM(Cortex를 포함한 ARM Core를 사용하는 거의 모든 CPU)을 개발할 때 Eclipse를 사용하기 위한 방법을 정리하고 있습니다. 여기에서 eclipse용 플러그인도 개발해서 제공하고 있습니다.
싸이트 메뉴 중 INSTALL 부분을 순서대로 읽어서 설치할 수 있으며 윈도우/리눅스/맥 모두 정리되어 있습니다.
어차피 eclipse는 Java만 설치되어 있으면 구동 가능한 프로그램이라서 OS에 제한적이지 않습니다.
eclipse를 사용할 계획이라면 Eclipse Plug-ins부터 시작하면 됩니다. 그 다음에 차례로 Tool Chains, Build Tools, Debugger 순서대로 설치하면 됩니다.
개략적으로 정리하자면,
- java 설치 : eclipse를 구동하기 위해서 입니다.
- eclipse 및 cdt 설치 : eclipse는 기본적으로 자바 개발 환경이므로 C 개발을 위해서 CDT를 설치해야 합니다.
- GNU ARM Eclipse Plug-ins 설치 : ARM 개발에 필요한 환경을 구현하기 위해서 입니다.
- Toolchain 설치 : ARM용 컴파일러 및 링커 등을 설치합니다. 설치 과정은 간단해서 내려받고 압축 해제하면 됩니다. GNU Tools for ARM Embedded Processors
- Build Toos 설치 : make, rm 등 컴파일러와 링커 등을 제외한 개발 환경에 필요한 도구들을 설치합니다. eclipse를 사용한다고 하더라도 결국 make(빌드할 때)와 rm(빌드를 새로 하기 위해서 기존 결과물을 제거할 때)을 이용해야 하므로 반드시 필요합니다. 링크에서는 윈도우를 사용하고 있다는 가정하에서 make, rm 등을 설치하는 방법을 기술하고 있으며 리눅스나 맥OS의 경우에는 배포판에 이미 들어가 있으므로 적절한 명령을 통해서 설치하면 됩니다. 우분투 리눅스라면 apt-get install make 정도가 되겠죠.
- Debugger 설치 : 컴파일되어서 나온 파일을 ARM 보드에 넣어서 실행하고 디버깅을 하기 위해서는 특별한 장비가 필요합니다. 보통은 J-Link, ST-Link 등을 많이 쓰며, 국내에서도 쉽게 구할 수 있습니다. 또는 OpenOCD라고 해서 오픈 소스로 공개되어 있는 디버거를 사용할 수 있습니다. 이를 OS가 인식할 수 있도록 드라이버를 설치하고 개발 환경에서 설정해야 ARM 보드를 디버깅할 수 있습니다.
eclipse를 사용하지 않을 계획이라면 java/eclipse/플러그인 설치는 제외해도 됩니다.
그런데, 아무래도 윈도우 환경에서는 콘솔로 작업하는 게 어려울 테니 윈도우에서 개발을 진행한다면 eclipse를 사용하는 게 조금 더 편할 것으로 보입니다. 아니면 cygwin이나 mingw를 설치하고 잘 설정해두면 윈도우에서도 리눅스 콘솔처럼 작업이 가능합니다.
단, 주의해야할 부분이 있습니다.
- Tool Chain 설치 후 실행 파일이 있는 폴더의 경로를 환경 변수에 추가하지 말라고 되어 있는데 만약 eclipse를 사용할 계획이 아니라면 실행 파일의 경로를 환경 변수에 추가하는 것이 좋습니다. (환경 변수를 설정하는 방법은 구글링~)
- 개인적으로 ARM Cortex 개발 보드에 Chibi-OS와 uGFX를 이식하기 위해서는 eclipse보다는 Makefile을 이용한 개발 환경이 더 편했습니다. 그래서 저는 익숙한 리눅스 환경(정확히는 ubuntu 14.04 64-bit)에 Makefile을 이용해서 개발 진행하고 있습니다.
- 리 눅스를 OS로 사용할 경우 배포판에서 기본적으로 arm-none-eabi-gcc, arm-none-eabi-gdb 등을 제공하지만 테스트해본 결과 정상적으로 동작하지 않았습니다. 위에서 정리한 Toolchain을 사용하면 아무 문제 없습니다.
이상입니다.
댓글 없음:
댓글 쓰기