写在前面的话:本篇章内容参看《怒飞垂云》的资料。将APM固件移植到自制硬件
实际操作过程中,需要如下几个步骤:
- 先在ardupilot中的 ./waf distclean 完成清理,主要删除了build文件夹
- 在libraries/AP_HAL_ChibiOS/hwdef中创建自己的飞控的文件夹。
- 在文件内创建并编辑相应的硬件描述文件,其中-bl.dat表示bootloader文件,hwdef表示剩下的硬件描述文件。
- ./waf configure --board XXXX --bootloader
- ./waf bootloader. 编译bootloader,由于bootloader比较小,该过程比较快。
- 将生成的 AP_bootloader.bin拷贝到ardupilot/Tools/bootloaders下面,并重新命名为 XXX_bl.bin;
- 安装对应python包 pip install interlhex 我也没尝试到底是用到python2 还是python3,所以全装;
- ./waf distclean
- ./waf configure --board XXXX
- ./waf copter
- 程序的下载我同样采用怒飞垂云老师的下载方式,脱机离线下载。采购的是正点原子的离线脱机下载器。这里需要注意的是,正点原子的是2.54间距的排针。所以需要对应采购1.27 单排下载烧录设备。
- 最后将含有bootloader的程序下载进去就行了。在apm固件信息中就可以看到自己定义的固件名称了。