Dev/Drone

Ardupilot 코드 분석(1) : 사전 준비



이 포스팅을 수월하게 이해하기 위해서는 독자에게 요구되는 수준은 다음 질문에 대답할 수 있어야 한다

  • git 이 무엇인지 아는가?
  • Linux 환경의 경험이 있는가? 
  • C++ 코드를 읽을 수 있다.(이것만 가능해도 된다.)

사전 준비




가장 중요한 아두파일럿의 코드는 아래의 Github repo에서 구할 수 있다.


https://github.com/ArduPilot/ardupilot/



각자 익숙한 C++ 환경 (Eclipse, Vim & Ctags, Clion ... ) 에서 코드를 분석하기를 바란다.


장인은 도구를 탓하지 않지만, 굳이 Nodepad 로 소스를 분석하는 장인은 없을 것이다.


가능하면 Navigation 기능이 있는 환경에서 코드를 분석하도록 하자. 

. 코드 분석에는 Navigation 기능이 크게 도움이 되기 때문이다. (Find Usage, Go to Declaraton 등등) 학생 혜택 등으로 라이센스가 있다면 CLion 을 추천하지만, 상황의 여의치 않다면 Eclipse 등을 사용해도 무방하다.



CLion 


공식 Wiki Eclipse 환경세팅법



필자는 Ubuntu 14.04 환경에서 Clion 으로 에서 작업하였다. 아래는 Clion 에서의 간단한 코드 분석 환경(빌드는 X) 설정법이다.




Clion 에서 코드 네비게이션 기능 적용시키기





import Project from Source 를 클릭한다. 




본인의 아두파일럿 프로젝트가 있는 디렉터리를 선택하고 OK 를 누른다. 



ArduCopter 디렉터리와 Libraries 디렉터리를 위와 같이 Project Sources and Headers 로 지정해 주면 아래와 같이 Code Navigation 기능을 이용할 수 있게 된다. 







[ardupilot] 아두파일럿 소스 분석(2) : 개요