betaflig/inva/cleanflight,没用rtos,但是有任务及任务调度,好奇为何不用freertos。
px4用的nuttx,看不懂,也不想学,放弃...
有的飞控好像用了chibios
正点原子提供的atkflight,用了freertos.
好奇,觉得freertos应用比较广了吧,为何这么多飞控用freertos的这么少。
最近编辑记录 Gentlepig (2023-12-09 10:18:08)
离线
看了一点atkflight源码,好像就是把betafligth的流程,用freertos实现了一遍。
离线
APM:裸奔
Pixhawk:Nuttx
MWC/Naze32:裸奔
Openpilot:PIOS
Autoquad:CoOS (an embedded real-time multi-task OS specially for ARM Cortex M series)
Paparazzi:ChibiOS匿名飞控:
RT-Thread(国产飞控+国产RTOS)
Crazyflie:FreeOS
https://www.zhihu.com/question/28981423/answer/51314550
知乎上看到的。
另,遥控器,有哪些开源硬件?指的是pcb及原理图也公开了的。
最近编辑记录 Gentlepig (2023-12-11 15:33:56)
离线
不要以自己的立场感受为常识。比如,从事Linux底层的人对nuttx就会很熟悉并觉得freertos功能太少。
像小米就选nuttx作为他们产品的RTOS,明显是因为他们的团队以前是搞手机系统的,众所周知,手机系统内核是Linux。
确实,自己了解的还是太少太片面了。nuttx之前只是见到过这个名字,chibios是第一次见到...
是不是不少rtos也兼容posix? rtt好像支持吧,微软的threadx是不是也兼容呢?
------------------------------------------------------------
搜到了这个:
为什么选择NuttX?
市场上开源或商业的RTOS非常多,为什么我们最终选择NuttX作为Xiaomi Vela的基础?主要有以下几个原因:
NuttX对POSIX标准有原生兼容:NuttX是可商用化RTOS中唯一一个对POSIX API有原生支持的实时操作系统,所以很多Linux社区的开源软件可以很方便的移植到NuttX上,这样可以极大的简化开源软件移植,方便代码复用,降低学习曲线,其它RTOS需要适配层把POSIX API转成内部API,而且通常只兼容一小部分的POSIX接口。
完成度高:NuttX集成了文件系统、网络协议栈、图形库和驱动框架,减少开发成本。
模块化设计:所有组件甚至组件内部特性,都可以通过配置Kconfig来调整或关闭,可按需对系统进行裁剪,适用于不同产品形态。
代码精简:所有组件都是从头编码,专门对代码和数据做了优化设计。
轻量级:虽然NuttX实现了传统操作系统的所有功能,但是最终生成的代码尺寸还是可以很小(最小配置不到32KB,最大配置不超过256KB)。
和Linux系统的兼容性:因为NuttX整体设计、代码组织,编译过程和Linux非常接近,将会极大地降低Android/Linux开发者的迁移成本。
活跃开放的社区:很多厂商(比如小米、Sony,乐鑫、NXP等)和开源爱好者都在积极回馈社区。
最近编辑记录 Gentlepig (2023-12-11 15:51:04)
离线
@nongxiaoming
下载了ardupilot源码,发现是c++的,就放弃了。
离线