Ardupilot 源码剖析
Ardupilot是最先进、功能全面、可靠的开源自动驾驶软件。它是由一个由专业工程师和计算机科学家组成的团队在5年多的时间里开发出来的。能够控制任何可以想象到的车辆系统,从传统的飞机,多旋翼飞机,直升机,到船只,甚至潜艇。
操作系统架构
仅记录自己的一些思考或剽窃别人的一些优秀思考|Random thoughts of an embedded-kernel hacker.
展开
-
APM_Rover运行纲领分析,以pixhawk-fmuv2为硬件平台,ChibiOS为底层操作系统:
1. 纯抽象载具类: class AP_Vehicleclass AP_Vehicle 派生自AP_HAL::HAL::Callbacks接口类,通常从接口类派生是希望子类具有某种期望的行为,这里AP_Vehicle拥有setup和loop的行为;此类是所有具象载具(Plane,Copter,Sub,Rover,Tracker)的基类;class AP_Vehicle : public AP...原创 2019-12-25 08:59:53 · 1916 阅读 · 2 评论 -
c++11的右值引用&&
在pixhawk中看到如下代码: template OwnPtr& operator=(OwnPtr&& other) { T *old = _ptr; _ptr = other.leak(); delete old; return *this; }解析摘录如下: http://www.cnblo原创 2017-02-22 16:28:38 · 9862 阅读 · 0 评论 -
C++中的默认函数与default和delete用法
在pixhawk拜读中发现如下写法: /* non-copyable */ OwnPtr(const OwnPtr &other) = delete;查找的解释如下:一、类中的默认函数 a.类中默认的成员函数 1.默认构造函数 2.默认析构函数 3.拷贝构造函数 4.拷贝赋值函数 5.移动构造函数 6.移原创 2017-02-22 14:58:04 · 630 阅读 · 0 评论 -
基于pixhawk2.4.6硬件和ChibiOS系统的ardupilot启动流程:从上电到ArduCopter应用层代码
NOTE: 以 —>>> 开头的为加入的分析和注解 <<<—链接脚本common.ld./libraries/AP_HAL_ChibiOS/hwdef/common/common.ld/* this file is included by the board specific ldscript.ld which is generated f...原创 2019-11-18 09:45:06 · 1427 阅读 · 0 评论 -
AP_HAL 再分析, 以pixhawk-fmuv2为硬件平台,ChibiOS为底层操作系统:
AP_HAL.h 分析#include <stdint.h>#include "AP_HAL_Namespace.h"#include "AP_HAL_Boards.h" --->>> 板子选择比如 HAL_BOARD_CHIBIOS#include "AP_HAL_Macros.h"#include "AP_HAL_Main.h"/**<...原创 2019-10-19 10:46:12 · 1289 阅读 · 20 评论 -
基于pixhawk2.4.6硬件和NUTTX系统的ardupilot启动流程:从上电到ArduCopter应用层代码
摘要: ardupilot启动:从上电到ArduCopter应用层代码 从上电到执行rcS脚本的过程 两块控制板(即fmu和io)上电后分别独立启动并运行各自的code。运行过程为: (1) 2套stm32_start()分别初始化fmu和io __start-- #处理 ...原创 2018-10-08 17:37:59 · 1344 阅读 · 0 评论 -
Ardupilot编译脚本
######################################################################### File Name: x.sh# Author: XXDK# Email: v.manstein@qq.com# Created Time: 2016年12月28日 星期三 23时58分43秒####################原创 2017-01-09 16:09:47 · 534 阅读 · 0 评论 -
Ardupilot入口分析
▉<=1=>▉---------------------------------------------------------------->>>>>>入口函数分析▉<=1=>▉---------------------------------------------------------------->>>&g...原创 2017-01-09 17:49:05 · 1315 阅读 · 0 评论 -
Ardupilot编译流程分析
▉▉---------------------------------------------------------------->>>>>>编译流程分析▉▉---------------------------------------------------------------->>>>>>.在ardupilot/ArduCopter/键入:make px4-v2A. 率先原创 2017-01-21 17:38:28 · 3821 阅读 · 0 评论 -
Ardupilot之cpu外设基础抽象聚合类 HAL.h
头文件 HAL.h定义了所有外设的基础抽象类集合#pragma onceclass AP_Param;#include &amp;quot;AP_HAL_Namespace.h&amp;quot; ///&amp;amp;gt; 名字空间#include &amp;quot;AnalogIn.h&amp;quot; ///&a原创 2018-05-08 16:25:01 · 712 阅读 · 0 评论 -
AP_HAL 分析, 以pixhawk-fmuv2为硬件平台,ChibiOS为底层操作系统:
1. class AP_HAL::AP_HAL,该接口类聚合了所有提供给应用层的硬件接口class AP_HAL::HAL {public: HAL(AP_HAL::UARTDriver* _uartA, // console AP_HAL::UARTDriver* _uartB, // 1st GPS AP_HAL::UARTDriver* _uart...原创 2019-09-21 10:09:22 · 1487 阅读 · 2 评论