APM飞控程序是开源的,我们可以对某一版本的APM飞控程序进行修改做二次开发。当对APM程序二次开发完成后就要将修改的APM程序编译上传到APM飞控板子中。下面就是介绍如何使用“ArduPilot-Arduino-1.0.3-windows”编译、上传APM程序。
1,下载APM飞控程序编译环境(IDE)--“ArduPilot-Arduino-1.0.3-windows”,注意不要使用其他版本的Arduino编译环境。
2,下载一个APM飞控程序,例如:ArduPlane-2.75。另外“ArduPilot-Arduino-1.0.3-windows”文件夹与飞控程序文件夹放在一个文件夹中,文件夹的命名最好都是用英文。
3,使用“ArduPilot-Arduino-1.0.3-windows”时,打开该文件夹,直接双击“arduino”图标使用,无需安装。“ArduPilot-Arduino-1.0.3-windows”的设置:
tool-->board: Arduino mega 2560 or mega ADK;
tool-->programmer: AVRISP mkII
ArduPilot-->: HAL board: Ardupilot mega 2.X(现在使用的APM2.0-2.5-2.6等)
File-->reference-->Sketchbook 选为要编译的飞控程序文件夹,每次更改后点OK,并关掉Arduino 1.0.3 再打开,这时再选File-->Sketchbook中一项进行编译。
例如,对File-->Sketchbook中ArduPlane进行编译,点击工具栏中“对号”图标开始编译,没有错误大约1分钟就能编译结束。编译完成之后将APM通过数据线连接到电脑上(编译时就连接也可以),选择Board-->serial-port 选择APM的接口。之后点击工具栏的“向右箭头”图标将编译好的程序写进APM,这样就完成了一次对APM飞控程序的刷新。
现在的APM飞控程序不经删减,编译后的大小很容易超过248KB(256KB总内存-8KB的Bootloader占用内存),当编译后大于248KB时不能上传到APM中否则会破坏APM的bootloader.