基于开源实时操作系统 NuttX 打造的内核,提供基础的内核功能,包括任务调度、跨进程通信、文件系统、TCP/IP 协议栈、设备驱动和电源管理等,同时对上提供标准的 POSIX 接口。
openvela 操作系统专为 AIoT 领域量身定制。服务框架:主要包含蓝牙、电话、图形、多媒体、应用框架、安全、系统服务框架。
- frameworks_system_utils:该仓库包含了系统基础组件和服务,包括 kvdb、trace 和 uv 等。
该仓库旨在为应用程序开发者提供丰富的蓝牙应用编程接口,包括 API 接口层、各种 Services 服务组件层、SAL 协议栈适配层和 HAL 硬件适配层。
[ English | 简体中文]
openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
Vela 的命名源自拉丁语中船帆的含义,也是南方星空中船帆星座的名字。我们选择这个名字的意义是希望与开发者一道携手,共同踏上星辰大海的征途。

内核层
提供基础的操作系统(OS)功能,包括任务调度、跨进程间通信(IPC)、文件系统管理。此外,还提供设备驱动、轻量级 TCP/IP 协议栈和电源管理等精简高效的组件。同时,内核层支持同构多核和异构多核架构,以提升系统在不同架构下的性能支持能力。
服务框架层
通用的服务框架,专为扩展系统服务设计,包含连接子系统、图形子系统、多媒体子系统、安全子系统和 XPC 跨核通信能力等。该层提供灵活的服务扩展支持,是系统功能扩展的重要基础。
维测工具
常用工具和维测框架,除了常见的 Logger 和 Debugger 工具外,还包含 Emulator 这一强大的高仿真设备模拟器工具。Emulator 支持全面功能仿真,同时支持 CPU 指令集仿真。
目前模拟器已支持多种产品形态,包括智慧面板、手表、手环和智能有屏音箱等。通过 Emulator 开发者可以使用 PC 端丰富的调试工具和信息,无需真实设备即可进行应用开发调试,降低开发和调试难度。
高度可扩展
openvela 的设计注重模块化与可扩展性,使其能够灵活适应多样的物联网应用场景。小到仅配备 32KB RAM 的微型 BLE 模组,大到拥有 512MB RAM 的智能有屏音箱,openvela 都能提供高度可扩展的支持。
一站式解决方案
随着时间的推移,openvela 不断沉淀了各类 AIoT 应用的共性需求,成为一个功能完备的软件平台,为各类物联网解决方案提供了全面的支持。厂商采用 openvela,可以显著降低研发成本并加速产品的上市时间。
成熟的异构计算支持
openvela 为异构多核系统提供了强大的支持,实现了 MCU、MPU、DSP、GPU 以及 NPU 等不同处理单元间无缝的 IPC 通信机制。此外,openvela 还提供了一个高级的 RPC 框架,简化了 openvela 与 Android 和 Linux 系统的通信,使快速打造一个异构融合操作系统成为可能。
标准兼容和高可移植性
openvela 内核基于 Apache NuttX ,这个被称为 “Tiny Linux” 的系统为 openvela 提供了高标准的 POSIX 兼容性。通过持续提升其 POSIX 兼容性,openvela 当前已达到 88% 的兼容水平。这种高标准的兼容性意味着在其他标准操作系统(例如 Linux)上开发的软件可以轻松迁移到 openvela,几乎不需要额外的工作。
全面的连接套件
openvela 提供了广泛的协议支持,包括蓝牙 BR/EDR/LE、LE Mesh、WiFi、Matter、LTE Cat1、以太网、CAN/LIN 等。同时,它还能与小米的 HyperConnect 协议无缝集成,提供了强大的连接能力。
丰富的开发者工具
openvela 提供了一系列完备的开发者工具,包括系统监控、性能分析、调试器、追踪、崩溃分析和日志分析工具,为开发者提供了强大的支持。
如果您想要体验 openvela,我们提供一个功能完备的模拟器,无需硬件平台即可使用。有关详细信息,请参阅如下指南。
| 子仓库链接 | 描述 |
|---|---|
| frameworks | openvela 服务框架:主要包含蓝牙、电话、图形、多媒体、应用框架、安全、系统服务框架(KVDB、OTA、healthd、binder、charger 等)。 |
| vendor | 芯片原厂的驱动和框架。 |
| nuttx | 基于开源实时操作系统 NuttX 打造的内核,提供基础的内核功能,包括任务调度、跨进程通信、文件系统、TCP/IP 协议栈、设备驱动和电源管理等,同时对上提供标准的 POSIX 接口。如果您想要对 NuttX 操作系统有更深入了解,可以在 Apache NuttX 官网查看更多信息。 |
| apps |
apps 是开源实时操作系统(NuttX)的应用程序库,包含了一系列为 NuttX RTOS 设计的应用程序和实用工具。这些应用程序和工具包括 shell 命令行工具、文件系统工具、网络工具等,它们可以帮助开发者更方便地开发和调试基于 NuttX RTOS 的嵌入式系统。 |
| external | openvela 引入的三方库。 |
| tests | 该仓库包含接口测试,具体包括多媒体、文件系统、内存管理和 socket 通信等核心 API 的测试。 |
| docs | openvela 对应的开发者文档。 |
汇总可供开发者参考学习的原生应用与快应用示例。
以下是一些典型的原生应用示例,展示了不同模块和功能的使用方法。
查看完整的原生应用列表,请访问原生应用示例仓库。
快应用相关示例正在持续丰富中。查看所有示例,请访问快应用示例仓库。
dev (开发分支)
汇集了最新的功能与修复,可能不稳定。推荐给希望体验新功能或参与贡献的开发者。
trunk (主干稳定分支)
经全面测试的稳定版本,dev 分支的稳定功能会合并于此。推荐大多数追求稳定性的用户使用。
Release Tags (版本发布标签)
基于 trunk 分支创建的永久标记,代表一个正式、稳定的发布版本。我们强烈建议生产环境使用最新的发布标签以确保最高稳定性。
已发布版本列表:
trunk-5.2:关于此版本的详细变更,请查阅其 v5.2 版本发布说明。维护策略:
针对已发布版本的关键 Bug 修复,会通过发布新的补丁版本标签来提供(例如 trunk-5.2.1)。
openvela 项目由多个独立的仓库组成,其许可证策略如下:
基本原则
openvela 项目整体采用 Apache 2.0 作为主许可证,各代码库的许可证以各仓库根目录下 LICENSE 文件为准。
Vendor 仓库
vendor 目录下的仓库由芯片厂商等第三方提供,它们遵循各自独立的许可证(如 MIT, BSD 等),不受 openvela 项目的 Apache 2.0 许可证约束。使用前请务必查阅并遵守其规定。
第三方依赖组件
项目代码中引用的第三方开源组件及其许可证信息,请参阅第三方开源组件声明文件。
我们欢迎您通过多种渠道与 openvela 社区互动和贡献。
欢迎加入 openvela 社区!扫描下方二维码关注公众号,或添加小助手入群。
| 官方公众号 | 技术交流群 |
|---|---|
![]() |
![]() |
|
关注我们 获取一手资讯与深度技术文章 |
加入群聊 扫码添加好友 |