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

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

基本结构

分为五个部分:

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协议)

最新文章

  1. Android之自定义控件-城市选择
  2. JS 页面加载触发事件 document.ready和window.onload的区别
  3. 远程连接mysql容易遇到的2个问题
  4. 25 个增强iOS应用程序性能的提示和技巧 应用程序性能的提示和技巧
  5. ios 开发 收起键盘的小技巧
  6. java.io中流的操作:字节流、字符流
  7. RAD,V模型
  8. C# DEBUG 调试信息打印及输出详解
  9. centos6.5安装vmware-tools
  10. 使用 C# 对文件进行压缩和解压
  11. web容器线程数和程序中线程阻塞导致 请求超时
  12. Elasticsearch安装ik中文分词插件(四)
  13. 了解 : angular $filter stateful
  14. 二分图的最大匹配——最大流EK算法
  15. JavaScript的数组实现队列与堆栈的方法
  16. java序列化和反序列化中的serialVersionUID有啥用
  17. 分布式监控系统(类zabbix)
  18. 使用jsoup轻松爬数据
  19. 概念:dependency injection, IOC, vs callback
  20. FreeRTOS 任务与调度器(1)

热门文章

  1. Java基础教程:多线程杂谈——Volatile
  2. C# .NET 杀进程
  3. Python之可变参数,*参数,**参数,以及传入*参数,进行解包
  4. Centos7网络连接
  5. 安装Windows和Ubuntu双系统2
  6. android基础---->ContentProvider的使用
  7. git 版本控制中回溯到某个历史版本
  8. 特征抽取: sklearn.feature_extraction.FeatureHasher
  9. Qt 编译出错“undefined reference to `vtable for”
  10. [.Net] 一句话Linq(递归查询)