为什么要使用Xiaomi Vela
提升产品性价比
Xiaomi Vela对系统资源的要求远小于Linux,但是可以提供和Linux系统相近的功能和性能,可以被看作很多低端Linux系统的替代方案,切换到Xiaomi Vela以后,可以降低硬件成本,提升产品整体的性价比。
功能高度可裁剪
可以支持系统资源使用跨度极大的各种产品形态,开发者可根据实际需求对系统进行定制,Xiaomi Vela提供基于Kconfig的配置方式,组件内部功能都支持配置。
代码易复用
由于小米Vela对POSIX接口的兼容,Linux平台上现有的开源库和组件都可以很方便的移植到Xiaomi Vela上,另外由于软件平台对硬件平台作出了隔离和统一,因此厂商的上层应用代码在移植到不同硬件平台时也可以更好的复用。
功能完整度高
NuttX本身提供了丰富的OS组件,Vela也会提供尽可能完整的应用框架中间件,所以应用开发者可以利用我们丰富的OS组件和应用框架,快速的完成系统的定制和应用的开发,减少开发成本,让产品更快的投放市场。
Xiaomi Vela的系统架构
底层NuttX内核
提供最基本的任务调度、跨进程间通信、文件系统等基础OS功能,同时也提供简洁高效的设备驱动、轻量级的TCP/IP协议栈和电源管理等组件。
应用框架
分为上下两层,下层是为扩展系统服务而提供的通用应用框架,上层是针对不同的物联网应用而开发的定制应用框架,例如多媒体应用框架和传感应用框架,提供Cloud SDK可以方便开发者更快速的接入小米云服务。
开发者工具
除了常见的Logger和Debugger工具,Xiaomi Vela还提供Emulator工具来帮助开发者提升调试效率,使用Emulator,开发者可以利用PC端丰富的调试工具和调试信息,降低嵌入式系统开发和调试的难度。
为什么基于NuttX开发Xiaomi Vela
不重复造轮子
NuttX是一个成熟的实时操作系统,背后有一个成熟的开源社区,功能丰富,性能稳定,商业化成熟度高,在多款消费级产品上成功验证。
POSIX标准原生支持
NuttX对POSIX API有原生支持,极大的简化开源软件移植,方便代码复用,而其它RTOS需要适配层把POSIX API转成内部API,而且通常只兼容少部分的POSIX接口。
模块化设计
所有组件甚至组件内部特性,都可以通过配置Kconfig来调整或关闭,可按需对系统进行裁剪,适用于不同产品形态。
代码精简
所有组件都是从头编码,专门对代码和数据做了优化设计,NuttX实现了传统操作系统的大多数功能,但是最终生成的代码尺寸很小(最小配置不到32KB,最大配置不超过256KB)
功能完整度高
NuttX本身提供了丰富的OS组件,集成了文件系统、网络协议栈、图形库和驱动框架,减少开发成本。