本内容并非原创 转发自Vincent_shen 的内容 发表仅仅为了方便广大机友。
下载程序前的软硬件准备:
一、USBtinyISP编程器,usbasp编程器
二、电脑装好arduino,progisp1.72
三、链接好APM主板,编程器安装好相应的驱动
四、替换arduino默认引导文件(stk500boot_v2_mega2560.hex),文件路径:你的arduino文件夹\hardware\arduino\bootloaders\stk500v2), APM的引导文件路径为: ArduPlane-2.xx\Tools\APM2_2560_bootloader\ stk500boot_v2_mega2560.hex
一、刷新mega2560bootloader文件:
1、文件替换完毕后打开arduino 编译软件 选择Tools--->Programmer选择刷机线为USBtinyISP
2、选择Tools--->Board选择主板为Arduino mega 2560
3、点击Burn bootloader
4 稍等片刻
5、烧写成功后会出现校验错误,这是因为IDE的校验功能不是很完善,校验不了,所以才会出现这样的校验错误。其实bootloader已经下载完毕了。这时候可以看到B、C指示灯在闪烁。
二、刷新mega32U2的bootloader文件
Mega32U2的bootloader文件路径为: ArduPlane-2.xx\Tools\ArduPPM\ATMega32U2\Arduino-usbdfu.hex
1、 打开progisp,选择芯片为mega32U2
2、 连接usbasp与APM板,点击RD,读出芯片ID
3、 调入fhex文件,点击调入flash,选择我们的hex文件
4、 选择芯片擦除、编程flash、校验flash即可,点击“自动”,过几分钟,烧写就完成了。
5、 现在开始烧写熔丝位,bootloader原来的熔丝位可能不能正常通讯。
点击 熔丝设置,弹出窗口,在窗口内改写熔丝为低位:FF,高位:D9 扩展位F4
如图所示,然后点击“写入”。
现在mega2560和mega32U2的bootloader都烧写完毕了,下面连接APM板的usb口和电脑,电脑提示发现新硬件
点击关闭,进行手动安装
手动选择驱动路径,路径为ArduPlane-2.xx\Tools\ArduPPM\ATMega32U2\
点击下一步,出现窗口,点击“始终安装”。
安装完毕
打开flip,点击 芯片图标,选择芯片:ATmega32U2,点击确定
点击 线缆图标,选择usb
点击open
可以看到芯片信息
点击 载入hex文件图标,载入mega32U2的hex文件,此hex文件在官方wiki的download下可以下载到。
点击RUN,开始向芯片下载程序
下载完毕,提示校验通过。
断开usb口,再次连接上,即可发现新硬件
点击关闭,然后手动更新驱动
将 驱动文件Arduino MEGA 2560.inf放在某个目录下面(此驱动文件也在官方下载),然后选择该目录,我将其放在了D:\APM firmware,所以我选择该目录
点击“确定”,再点击“下一步”点击“始终安装”
驱动安装完毕,电脑自动给其分配了com端口。
返回 下面,打开Mission Planner,
点击firmware进行下载固件。
以连接上网络,看到各个版本的固件了。
至此,APM2.5飞控的固件程序就烧写完成了。下面就可以连接设备飞行了!(本文完)