理解ardupilot线程

https://ardupilot.org/dev/docs/learning-ardupilot-threading.html

现在你对ardupilot的库已经有基本的理解了,现在我们来理解下ardupilot如何处理线程的。看到源码中继承自arduino的setup loop之类的函数,你可能以为ardupilot是个单线程的系统,但事实上,ardupilot是多线程的。

ArduPilot中的线程处理方法取决于它的板上的硬件。有些板子(比如apm1 apm2)并不支持线程,只有一个简单timer回调函数。 有些板子(PX4 LINUX)支持带实时优先级的多Posix 线程模型; ardupilot正是使用的这种线程机制。

 

在Ardupilot中,你需要理解一些关键的和线程相关的概念。

  • The timer callbacks 定时器回调
  • HAL specific threads 硬件抽象层专属线程
  • driver specific threads 驱动专属线程
  • ardupilot drivers versus platform drivers ardupilot           驱动vs平台驱动
  • platform specific threads and tasks        平台专属线程和任务
  • the AP_Scheduler system     
  • semaphores  信号量
  • lockless data structures  无锁数据结构

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值