ArduPilot SW의 설치가 완료되고 컴파일이 정상적으로 진행되었다면 이제는 컴파일 환경을 꾸밀 차례이다.

아무래도 C++코드를 텍스트 에디터에서 수정하는것은 만만치 않은 일이다. 따라서 Eclipse같은 개발 환경에서 코드를 수정하는게 아무래도 편하다.

따라서 이번에는 Eclipse를 설치하고 환경을 설정하는 과정을 설명하도록 하겠다.


먼저 이 과정은 OS X Yosemite 버전 10.10.5가 설치된 Mac Mini 에서 진행되었다.


1. Eclipse 설치

Eclipse IDE는 https://eclipse.org/downloads/ 에서 다운로드 받을 수 있다.



 Download 64bit 를 클릭하여 package downloader를 다운받은 후 설치를 진행한다.

Java가 설치되어있지 않거나 버전이 다른경우 설치가 되지 않을 수 있는데 이때는 다음 링크로 이동하여 최신의 JDK를 설치하면 된다.

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html


Accept License Agreement를 선택하고 Mac OS X 용 JDK를 다운받아 설치한다.


최신 버전의 JDK(현재는 1.8)를 설치하면 Eclipse의 설치를 진행할 수 있다. 


2. Eclipse 관련 소프트웨어 설치

Eclipse 설치 후 나머지 과정은 다음 링크의 자료를 참조한다.

http://www.davidrojas.co.uk/stm32f3discovery-on-mac-os-x-using-eclipse-gcc-arm-and-openocd/

Eclipse의 HELP 메뉴에서 Install New Software를 선택

“Available software sites” 를 선택하여 그림과 같이 CDT 항목을 선택

이제 Available Software에서 CDT를 선택할 수 있다.

CDT Main Features 전체와 Optional Features에서 아래 항목을 선택한다.


설치가 완료되면 이제 GNU ARM Plugin 을 설치할 차례이다.

다시 Help > Install New Software 를 선택한 후 Add...을 눌러 아래와 같이 새로운 사이트를 등록한다. 

Name: CDT GNU ARM

Location: http://gnuarmeclipse.sourceforge.net/updates

다음 항목에서 “CDT GNU Cross Development Tools” 컴포넌트를 찾을 수 있다. 이것을 선택하고 설치한다.



이제 새로운 ARM Make 프로젝트를 불러올 수 있다.


3. ArduCopter 프로젝트 Import하기

이 과정은 Ardupilot프로젝트 위키에도 설명되어 있으므로 다음 링크를 참조한다. 

http://ardupilot.org/dev/docs/editing-the-code-with-eclipse.html


프로젝트 파일 변경하기

GIT 명령으로 다운로드 받은 폴더로 이동하면(/Firmware) 다음과 같은 파일들이 보일것이다.

 $ ls

CMakeLists.txt README.md mavlink

CONTRIBUTING.md ROMFS misc

CTestConfig.cmake Tools msg

Debug Vagrantfile nuttx-configs

Documentation circle.yml nuttx-patches

Firmware.sublime-project cmake package.xml

Images eclipse.cproject posix-configs

LICENSE.md eclipse.project src

Makefile integrationtests test_data

NuttX launch unittests


이 파일들은 이클립스에서 프로젝트 Import하기 위한 내용들을 담고 있는 파일인데 원래는 .project, .cproject 라는 시스템 파일로 되어있어야 한다.

파일명을 바꾸기 위해 터미널 창에서 다음을 입력한다.


$ mv .eclipse.cproject .cproject

$ mv .eclipse.project .project


이 파일은 ls -a 명령으로 확인할 수 있다.

 $ ls -a

. NuttX

.. README.md

.ackrc ROMFS

.clang-tidy Tools

.cproject Vagrantfile

.git circle.yml

.gitignore cmake

.gitmodules integrationtests

.project launch

.travis.yml mavlink

.ycm_extra_conf.py misc

CMakeLists.txt msg

CONTRIBUTING.md nuttx-configs

CTestConfig.cmake nuttx-patches

Debug package.xml

Documentation posix-configs

Firmware.sublime-project src

Images test_data

LICENSE.md unittests

Makefile



이제 Eclipse IDE를 재시작하고 "Import... "을 선택하여 프로젝트를 가져온다.

먼저 다음과 같은 화면에서 Makefile Project 를 선택한다.

"Existing Projects into Workspace" 를 선택한다.



다음으로 넘어가서 프로젝트가 설치된 디렉토리를 선택한다.


Project 창에 해당 프로젝트가 하이라이트가 되면 다음으로 진행할 수 있다.

 Finish 를 눌러 프로젝트 가져오기를 마친다.


이제 Project Explorer 에 PX4 프로젝트가 나타날 것이다.


4.  Build Target지정하기

프로젝트 빌드를 하기 위해서는 Target을 지정해야 한다. Target은 이전에 Make 옵션과 동일하다.

IDE우측의 Make Target 항목에서 New... 를 선택하여 타겟을 지정한다.


Pixhawk 용 Quadcopter FW를 개발한다면 Target Name 이 px4-v2가 된다.

5. Project 환경 설정

Project Explorer 에서 ArduCopter 의 Properies를 선택하여 빌드 환경을 설정한다.

만약 빌드 환경을 제대로 설정하지 않고 빌드하게 되면 콘솔에 아래와 같은 오류가 뜨면서 빌드가 완료되지 않을 것이다.


make: arm-none-eabi-size: No such file or directory

make: *** [px4-v2] Error 1


이것은 ARM 컴파일을 하기 위한 플러그인의 위치를 지정하지 않아서 발생한다.

arm 컴파일 플러그인은 arm-none-eabi-**** 와 같은 이름의 파일인데 brew를 사용하여 설치하였다면 일반적으로 

루트 디렉토리의 /usr/local/bin 에 위치하게 된다.


아래와 같이 C/C++ Build 항목의 Tool Paths 에서 다음과 같이 설정한다.

OK 를 눌러 Path를 지정하면 정상적으로 빌드를 할 수 있다.


ArduCopter-v2.px4 가 생성된 것을 확인하면 빌드가 성공한 것이다.






+ Recent posts