ardupilot移植经验分享
文章平均质量分 96
wenbodong
这个作者很懒,什么都没留下…
展开
-
Ardupilot移植经验分享(3)
接Ardupilot移植经验分享(2)深入细节是时候深入具体的HAL接口了。笔者并不打算一一讲解所有的接口,而是挑选一些有代表性的来分析,主要的内容是:分析HAL接口的含义,包括功能,入参及返回值的具体含义。分析HAL_PX4的实现,看看有没有可借鉴之处。调度接口AP_HAL::Scheduler提供了程序调度相关的接口。主要分为两类:延时函数注册回调延时函数有3个,1个毫秒级延时,2个微秒级延时。这里的延时可不是死等,而是睡眠一段时间,在此期间让出CPU的使用权以执行其他的线程。原创 2021-04-07 23:46:41 · 938 阅读 · 5 评论 -
Ardupilot移植经验分享(2)
目录明确目标把握脉络hal引用main函数在哪儿初始化步骤深入细节线程接口微秒级延时串口驱动Example很有用Ardupilot移植经验分享(1)简要介绍了移植Ardupilot的思路,重点讲述了下载编译源码的要点和搭建源码阅读环境的方法。下载编译源码,一方面是为了搭建源码阅读环境,另一方面是当阅读源码遇到疑问时,可以稍作修改后进行调试验证。搭建便捷高效的源码阅读环境,更是非常重要。若是选择的源码阅读器不能进行函数跳转,不能查看函数调用栈,不能快速导航到目标函数或变量,阅读70万行ardupilot代码原创 2021-04-06 21:48:09 · 1163 阅读 · 9 评论 -
寻找ardupilot的main函数
这几天在写“Ardupilot移植经验分享–阅读源码”。其中有一小节名为“main函数在哪儿”,笔者在叙述时想借此机会演示eclipse的实战效果。为了控制文章的篇幅,笔者决定拎出来单独说明。ardupilot源码,指的是下图中的蓝色部分,具体将在“Ardupilot移植经验分享–阅读源码”中说明。阅读ardupilot源码的第一步是了解程序的整体框架,把握其脉络。而第一步中最重要的,莫过于找到程序的入口。通常,一个C工程的入口是main函数,那么ardupilot程序的main函数在哪儿呢?我们先原创 2021-03-17 12:49:52 · 821 阅读 · 0 评论 -
加速下载ardupilot工程
本文是从“Ardupilot移植经验分享(1)-下载太慢或者失败”中拆分出来,因为内容较多。请注意,本文是“Ardupilot移植经验分享(1)”中拆分出来,需要先通读“Ardupilot移植经验分享(1)”。本文中有时会提到“前面的步骤”、“之前”,这指的都是“Ardupilot移植经验分享(1)”中说过的内容。在国内访问github的速度是受到限制的,下载大型工程时,容易失败。有加速通道的同学,就不必看了。ardupilot是一个大型且复杂的工程,这使下载问题更加严重。为什么这么说呢,因为ardup原创 2021-03-10 22:11:31 · 1013 阅读 · 4 评论