빌드가 완료된 펌웨어를 픽스호크에 업로드 하는 방법을 알아보자.


mac에서 펌웨어를 업로드 하는 방법은 다음 링크의 자료를 참고하였다.

http://www.lambdrive.com/depot/Robotics/Controller/Firmware/ArduPilot/Building-ArduPilot-on-Mac.html#upload-compiled-firmware-to-your-px4-board


여기에 적힌 빌드 방식은 ArduPilot에 소개된 방법과 대부분 유사하나 약간의 차이가 있다.


빌드하기


ccache 를 설치하여 컴파일 속도를 높인다.

brew install ccache
ln -s ccache /usr/local/bin/gcc
ln -s ccache /usr/local/bin/g++
ln -s ccache /usr/local/bin/cc
ln -s ccache /usr/local/bin/c++


공식 가이드에 따라 make를 두번 수행한다. (첫번째는 PX4Firmware와  Nuttex를 2번째는 ArduCopter 를 빌드한다)

make px4-v2
make px4-v2


마지막으로 pixhawk를 위한 arducopter 펌웨어를 빌드한다.

make px4-quad


이제 2개의 펌웨어가 생성되었다. ArduCopter-v2.px4는 PX4 오리지날 버전을 위한것이고 ArduCopter-v2.px4는 Pixhawk를 위한 것이다.

동시 빌드를 인가하고 Pixhawk Quad 펌웨어를 지정하기 위해 다음을 수행한다.

make px4-v2-quad -j2


다른 프레임 구성을 빌드하려면 [frame type]의 내용을 tri, hexa, y6, octa, octa-quad, heli등으로 대치한다.

make px4-clean
make px4-[frame type]

주의: make clean 은 non-px4 타겟만을 제거한다.


의존성 부분만 제거하기 위해서는 다음을 수행한다.

make px4-cleandep


컴파일된 펌웨어를 px4보드에 업로드 하기

make px4-quad-upload -j4


 Pixhawk를 위해서는 v2를 명시한다.

make px4-v2-quad-upload -j4


컴파일이 모두 완료되면 다음과 같은 화면이 뜨면서 연결을 기다리게 된다.

Loaded firmware for 9,0, size: 944040 bytes, waiting for the bootloader...

If the board does not respond within 1-2 seconds, unplug and re-plug the USB connector.


이제 Pixhawk에 usb를 연결한다.

그럼 아래와 같이 보드를 발견했다는 메세지가 뜨면서 펌웨어를 전송하기 시작한다.

Found board 9,0 bootloader rev 4 on /dev/tty.usbmodem1

50583400 00ac2600 00100000 00ffffff ffffffff ffffffff fff#######...

type: PX4

idtype: =00

vid: 000026ac

pid: 00000010

coa: SAq/4cjPVJG0qdaLmD9k3Yw2nmGJjx0yKjq9mkzCA2tDjbXm###....


sn: 002a003f30##############


Erase  : [====================] 100.0%

Program: [====================] 100.0%

Verify : [====================] 100.0%

Rebooting.


이제 미션플래너를 연결하고 정상적으로 펌웨어가 올라갔는지 확인하면 끝이다.



+ Recent posts