如果你正在开发物联网设备,则需要仔细考虑要使用的操作系统。物联网设备都具有物联网操作系统需要考虑的共同约束,包括功率、内存和处理速度。这些设备限制意味着许多嵌入式开发人员的自然首选操作系统选择 Linux 通常并不合适,许多物联网设备根本没有足够的板载 RAM 来支持甚至精简版的操作系统。
这就是为什么实时操作系统 (RTOS) 是物联网设备的一个很好的替代品。因此,现在市场上有大量开源和商业 RTOS 选项。在本文中,我们将与你讨论如何为你的 IoT 设备选择最佳 RTOS。
选择 RTOS 时要考虑的关键点
现在市场上有多种用于物联网设备的开源和商业 RTOS 可供选择。由于选择可能令人眼花缭乱,以下是为物联网设备选择最佳 RTOS 时需要考虑的关键点。
性能:在性能方面,你有很多选择。内存和处理占用空间要求是你首先需要考虑的事情。 ROM、RAM 和闪存都应根据你的内存需求进行评估,而中断延迟和上下文切换时间应根据你的处理需求进行评估。
可扩展性:8 位和 16 位 MCU 一直是 IoT 设备的首选硬件,但 32 位 MCU 现在变得越来越流行,导致许多制造商在设备中使用两种不同的供电流程。因此,你的 RTOS 应该是可扩展的,以便管理任何未来的 MCU 升级。
图形用户界面:GUI 要求会对你为 IoT 选择 RTOS 产生重大影响。在嵌入式开发中,你是否只需要设备的基本图形库,还是需要更高级的东西,例如 3D 渲染、多层界面和自定义?
连接性:你的 RTOS 需要哪些通信协议才能为你的嵌入式设备提供连接性? 以太网、Wi-Fi、蓝牙和 IEEE 802.15.4? 你的 RTOS 将使你能够选择连接所需的特定通信堆栈,因此你只使用你需要的。
模块化:毫无疑问,你使用的 RAM 有限,因此你的 RTOS 将配备一个强制性的核心内核,以及定制的中间件和协议栈。 通过仅围绕核心内核构建你需要的内容,你可以控制设备内存需求,这对于传统操作系统来说要困难得多。
安全性:需要仔细考虑你的物联网设备和系统安全要求。市场上的每个 RTOS 都提供不同范围的安全附加组件,例如安全启动、SSL 支持和加密驱动程序。 在 Nabto,我们使用 p2p 加密提供超安全的物联网连接,无需第三方依赖。 在此处详细了解我们的 p2p IoT 连接解决方案。
生态系统:你正在考虑的每个 RTOS 在你的行业中的采用情况如何? 是否支持其他架构和处理器? 是否有活跃的嵌入式开发者社区在 GitHub、堆栈溢出和其他平台上共享代码和其他信息? 庞大的用户社区提供了该软件功效的社会证明,当然,也提供了一个有用的学习资源。