最近开始学习ArduPilot/APM飞控的源码, 源码托管在github上。
源码链接:https://github.com/diydrones/ardupilot。
飞控主页:http://ardupilot.com/;
飞控的开发者官网网址为:http://dev.ardupilot.com/。
学习源码主要在开发者(developer)网页,官方提供了较为详细的代码编译和源码学习的教程,非常详细。
我这里主要是为了记录一下学习的东西,以便以后参考。
源码基本结构分为了5个部分:
- vehicle directories
- AP_HAL
- libraries
- tools directories
- external support code
AP_HAL是硬件抽象层,不同硬件平台通过该层提供统一的接口。
libraries提供了一系列的库文件,内容比较多,类型也比较广。
tools directories提供了一些其他库支持,包括bootloader,demo等等。
external support code主要是一些平台需要的额外代码,包括嵌入式系统和特有的驱动等。
在libraries目录下的各个设备中,有