观注我微信公众号的读者有这样的疑问:
MultiMCU EDU 开始推了很多 ArduPilot 飞控开发文章,最近推了 RT-Thread 相关文章。
这两者不相干啊,怎么会一起推?
下面就来做个解释。
嵌软的发展历史
野火《RT-Thread 内核实现与应用开发实战—基于STM32》书中有述。
以 ArduPilot 为例看下软件构成
ArduPilot 开源发展了十多年,其架构一直是很领先的。
-
arducopter 应用架构
-
ardupilot 驱动架构
-
结论(优点很多,简单例举)
- 应用层高度可移植,根本原因是:有操作系统接口层统一了对上层的接口。
- RTOS 多线程的特点使得 arducopter飞控可以专注于自身应用设计(驱动、算法、通信等)。
RTOS 走进嵌入式硬件
RTOS 有很多种,比如:NuttX,FreeRTOS,RT-Thread,ChibiOS,uC/OS-II,uC/OS-III等。
可以看下 NuttX、ChibiOS 的介绍(因为我比较熟 ArduPilot 所以推这两个,熟悉其余 RTOS 的可以找其余的相关介绍)可以发现其发展已经很久了。按 wikipedia 介绍 NuttX 始于 2007 年,到今天已经有十多年的发展历程了。在这十几年里,除了开源公开的代码,基于其开发的产品也渗透到了很多领域,越来越多的应用证实了 RTOS 在嵌入式硬件上的可靠性是完全没有问题的。
这里说下为什么我会推 RT-Thread。
- 支持国产,中文文档,好入门。
- 我使用感受很好,很稳定。
- 支持 POSIX ,有丰富的组件,开发很省时。
下面说下 RTOS 走进嵌入式硬件的好处。
- 分离硬件与应用层,
想用单片机,不再一定要懂单片机的全部
。 - 会用 RTOS 可以把更多精力放在应用需求上,
按需求划分软件应用层,各线程相互独立不干扰
。 - 优秀的软件可轻易移植,
方便推广更具商业价值
。 - RTOS 各线程相互独立,
为软件模块化设计提供有利条件
。 - RTOS 适应多种 MCU 平台,
用 RTOS 开发的软件也更容易跨硬件平台运行
。 - RTOS 有各种驱动支持,
可节省驱动开发时间
。
未来我会做什么
我熟悉 ArduPilot,也熟悉 RT-Thread。
未来计划借两方的优势推出一套简单易懂易学的软硬件。
不做仅仅通过 POSIX 把 RT-Thread 接入 ArduPilot 的事。
-
推些 ArduPilot 相关的文章、视频。
已公众号公开:介绍飞控方向的简单算法,ardupilot 软件的基础架构。
-
推些 RT-Thread 内核应用的示例(写文章、做视频)。
已公众号公开:展示 0 基础如何平滑入门 RTOS。
-
开源一套最简单的、架构清晰的、基于 RT-Thread 的飞控软件。
进程中,暂不公开。这是最终目标,实际会拆分多个步骤来落实。
PS
我做这些,目标是带小白入门。所以一切以简单、易懂为主。
我觉得现在各行各业都不缺高端人才。
能给想成为高端人才的小白们在前进的道路上垫几块砖头是有意义的事。
成长的时间是保贵的,所以我会尽力为大家节省时间。
不做长视频,不推长文。
用简短的视频展示完整的过程。
用简短的文字述清具体的知识。
关注作者
欢迎扫码关注我的公众号MultiMCU EDU
。
提示:在公众号“关于我”页面可加作者微信好友。
请我喝杯咖啡如何?
微信 支付宝