嵌入式开发就是指在嵌入式操作系统下进行开发,包括在系统化设计指导下的硬件和软件以及综合研发。除暂且分离硬件的EDA研发以外,侧重的就是在一定硬件条件下的系统化设计和软件研发。

      现在市场上有多种用于物联网设备的开源和商业 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、堆栈溢出和其他平台上共享代码和其他信息? 庞大的用户社区提供了该软件功效的社会证明,当然,也提供了一个有用的学习资源。