ArduPilot简介

源码地址:https://github.com/ArduPilot/ardupilot/

参考:http://ardupilot.org/dev/docs/learning-the-ardupilot-codebase.html

基本结构
ArduPilot简介_第1张图片

分为五个部分:
1.vehicle code
2.shared libraries
3.hardware abstraction layer (AP_HAL)
4.tools directories
5.external support code (i.e. mavlink, dronekit)

vehicle code
在最顶层目录,包含四种固件:Plane,Copter,APMrover2和AntennaTracker。他们之间有很多相似的地方

AP_HAL硬件抽象层
所在目录\libraries\AP_HAL_XXX。可移植到不同的平台。其中AP_HAL定了其他代码通用的接口

external support code外部支持代码

PX4NuttX:the core NuttX RTOS used on Pixhawk boards(NuttX RTOS实时操作系统)
PX4Firmware:the base PX4 middleware and drivers used on Pixhawk boards(PX4的中间件和驱动程序)
uavcan:the uavcan CANBUS implementation used in ArduPilot(can总线)
mavlink:the mavlink protocol and code generator(mavlink协议)

你可能感兴趣的:(ArduPilot简介)