- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
秦蔚-小米Vela在IOT操作系统领域中的技术实践和探索-秦蔚
展开查看详情
1 .小米Vela在IOT操作系统领域中的 技术实践和探索 秦蔚 小米集团手机软件部软件架构师
2 . 主要内容 内容 01 小米Vela团队对物联网操作系统的思考 02 2 小米Vela的技术架构 03 2 小米Vela的落地产品 04 2 小米Vela团队的开源技术实践 05 小米Vela物联网操作系统未来的探索
3 .我们对IOT操作系统的思考 内容
4 .物联网操作系统的思考 核心痛点:碎片化 硬件碎片化 技术组件碎片化 开发方式的碎片化 • 处理器架构 • RTOS内核 • 编译工具链 • SOC(chipset) • 网络协议栈 • 编程框架和语言 • 硬件外设 • 互联互通方式 • IDE或裸环境 • GUI框架
5 .Vela物联网操作系统 智能 智能 智能 智能 运动 TWS 家居 音箱 传感器 手环 手表 耳机 Xiaomi Vela:打通碎片化的IoT应用,为IoT的繁荣构建基础设施
6 .Vela操作系统的技术架构 内容
7 . Vela操作系统架构 2020 2021 2022 模拟器技术 Vela落 地产品 IOT模组 智能音箱 运动手表 GUI设计IDE 开发调 试工具 调试器扩展 Vela 应用软件开发工具包 SDK 应用开发框架和接口支持( Native C/C++,三方) 日志记录和分析 Vela应 用框架层 多媒体框架 传感器框架 XPC互联框架 GUI框架 连接组件 • 多核协作 • 跨多核发布订阅 • 异构多核互连 • 图形加速引擎 • WIFI支持 • 硬件资源合理利用 • 简化应用开发 • 标准化通信方式 • 低功耗实现 • BT, BLE支持 • 策略和实现分离 • 系统功耗优化 • 硬件独立 • 脚本引擎支持 • 可裁剪配置 自动测试框架 质量验 代码检查框架 POSIX接口支持 证和生 产工具 烧写工具 系统调度 设备驱动 内存管理 电源管理 系统管理 开源NuttX 内核 网络协议 文件系统 打包工具 多核调度 硬件SOC接口 硬件板级接口 安全可信引导 面向中小型IOT设备的操 硬件平台(ARM32/64, RISC-V32/64, Xtensa) 作系统技术栈 7
8 . 平台碎片化的解决(Scalable RTOS) 开源NuttX内核(POSIX兼容) 处理器架构 SoC(chipset) 驱动/网络/文件系统 • 18种处理器架构 • 接近200种SOC • 接近50种设备驱动 • ARM32(A/R/M) • 主流厂家:NXP,TI, • 20多种网络协议 • ARM64(A/R) STM,MicroChip • 20多种文件系统 • Risc-V(32/64) L0~L2级设备 的最优选择
9 .开发方式碎片化的解决(IOT应用开发框架) 应用开发人员 系统和Native应用 模拟器技术 三方应用(JS) (C/C++) GUI设计IDE Vela 三方应用框架 调试器扩展 POSIX接口 日志记录和分析 Vela OS Vela开发调试工具 Hardware
10 .Vela操作系统的落地产品 内容
11 .Vela落地产品(2020) Vela应用框 连接组件(BT/WIFI) 调试器扩展 架层 开发调 试工具 日志记录和分析 基本内核 开源NuttX内 质量验证 烧写工具 核 硬件SOC接口 硬件板级接口 和生产升 级工具 打包工具 硬件平台 ARM/RISCV Core IoT 模组 IoT 模组技术栈 • WiFi 和 BLE 双模 • 小米IoT 平台联动
12 . Vela落地产品(2021) 传感器框架 Vela应用框 模拟器技术 多媒体框架 连接组件 XPC互联框架 架层 开发调 调试器扩展 试工具 POSIX接口支持 日志记录和分析 开源NuttX内 基本内核 核 硬件SOC接口 硬件板级接口 代码检查框架 质量验证 和生产升 烧写工具 级工具 ARM Core 硬件平台 DSP Core 打包工具 (Cortex-Ax2+Cortex-M) 小爱智能音箱 Play 增强版 • 支持红外万能遥控和LED钟表 智能音箱技术栈 • 家庭网关,可控制Wi-Fi和BLE Mesh的智能设备
13 . Vela落地产品(2022) 三方应用(15款) Vela 应用软件开发工具包 SDK 模拟器技术 Vela应用框 传感器框架 XPC互联框架 GUI设计IDE 多媒体框架 开发调 架层 试工具 调试器扩展 GUI框架 连接组件 日志记录和分析 POSIX接口支持 自动测试框架 开源NuttX内 基本内核 电源管理 系统管理 核 质量验证 代码检查框架 硬件SOC接口 硬件板级接口 和生产升 小米 Watch S1 Pro运动手表 安全可信引导 级工具 烧写工具 • Xiaomi Vela OS + MIUI for Watch 打包工具 硬件平台 ARM Core Sensor BT/WIFI • 面向三方应用开发者的开放平台 DSP Core Core Core 运动手表技术栈
14 . Vela落地产品(2022) 小米 Watch S1 Pro运动手表 • Xiaomi Vela OS + MIUI for Watch • 面向三方应用开发者的开放平台 三方应用:涵盖了音频、出行、社交、工具、游戏和健康6个类别
15 .我们的开源实践 内容
16 .开源技术实践(异构多核) • Openamp 数据通路 • 兼容 Linux的rpmsg,可与Linux 直接通讯 • Rptun framework: • 向上承接 rptun services • 往下对接 openamp数据通路 开源代码位置 • https://github.com/apache/nuttx/tree/master/drivers/rptun • https://github.com/apache/nuttx/tree/master/fs/rpmsgfs • https://github.com/apache/nuttx/tree/master/net/rpmsg
17 .开源技术实践(异构多核RPTUN) rpmsgfs rpmsg-console
18 .开源技术实践(ARM64位多核) ARMv8A ARMv8-R 代码位置 • https://github.com/apache/nuttx/tree/master/arch/arm64
19 .开源技术实践(ARM64位多核) 初始化 代码位置 https://github.com/apache/nut tx/tree/master/arch/arm64/src/ common 代码列表 • arm64_head.S • arm64_boot.c • arm64_initialize.c • arm64_idle.c • arm64_cpustart.c • arm64_mmu.c • arm64_mpu.c
20 .开源技术实践(ARM64位多核) 调度和切换 代码位置 https://github.com/apach e/nuttx/tree/master/arch/ arm64/src/common 代码列表 • arm64_vector_table.S • arm64_vectors.S
21 .开源技术实践(ARM64位多核) lazy-FPU切换 代码位置 https://github.com/apach e/nuttx/tree/master/arch/ arm64/src/common 代码列表 • arm64_fpu.c • arm64_fpu_func.S • arm64_vectors.S
22 .未来的思考和探索 大小系统融合 操作系统组件化 高可靠性跨端API • 标准VirtIO架构 • RTOS组件化 • 跨端互调用框架 • 多核OpenAMP框架 • RichOS组件化 • 跨端DFX架构 • 轻量级虚拟化 Vela--小米 AIoT 生态 基础底座
23 .THANKS