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 가 생성된 것을 확인하면 빌드가 성공한 것이다.
'Drone' 카테고리의 다른 글
PX4FMU에 Bootloader 올리고 프로그램 다운로드 하기 (7) | 2016.10.09 |
---|---|
PX4Firmware build (3) | 2016.10.06 |
Mac 에서 Pixhawk 컴파일 환경 꾸미기 3. FW 업로드 하기 (0) | 2016.09.20 |
Mac 에서 Pixhawk 컴파일 환경 꾸미기 1.Make Project 환경 설치 (0) | 2016.09.18 |
[Pixhawk Setup]Motor specific config (0) | 2016.06.12 |