重磅!小米将对外公开超 1000 万行的 Xiaomi Vela 开源代码

news2024/12/24 11:34:21

点击上方关注 “终端研发部

 
 
设为“星标”,和你一起掌握更多数据库知识

如果说接下来的澎湃OS系统会带来很强的吸引力,那么第二个惊喜也是随之而来,那就是小米Vela开源大动作。

早在2017年起,小米就活跃于 NuttX 社区,至今已拥有三名 PMC 委员和四名 Committer ;过去两年更是贡献了社区超一半的代码修改,成为社区最大贡献者。2022年,小米将快应用框架贡献给开放原子基金会,该框架现已运行在超过15亿台智能手机设备上。

76df4751741622ecb3b096268b430072.png

此外,小米还在众多开源项目中发挥了重要作用,包括与 Intel 共同开源的 Wasmizer-TS 编译器项目以及 OpenAMP、LVGL、WAMR、Zephyr 等项目。

Xiaomi Vela是小米基于开源实时操作系统NuttX打造的物联网嵌入式软件平台,Vela在各种物联网硬件平台上提供统一的软件服务,支持丰富的组件和易用的框架,打通碎片化的物联网应用场景。

Xiaomi Vela 主要特性

  • 高效性能:Vela 基于 NuttX 内核,具有高实时性、低功耗、低延迟等特点,适用于各种资源受限的嵌入式设备。

  • 丰富组件:Vela 提供了多种常用的组件,如网络、音频、视频、图形、安全等,方便开发者快速构建应用。

  • 易用框架:Vela 提供了一套统一的应用框架,支持 Lua、JavaScript 等脚本语言开发应用,并提供了丰富的 API 和文档。

  • 万物互联:Vela 支持多种通信协议和标准,如 WiFi、BLE、Zigbee、MQTT 等,并提供了小米妙享技术,实现设备之间的无缝连接和协同。

Xiaomi Vela 系统架构如下

c3d81d825a33876ad10127d9b9498bc5.jpeg

对于开发者工具而言,除了常见的 Logger 和 Debugger 工具,Xiaomi Vela 还提供 Emulator 工具来帮助开发者提升调试效率,使用 Emulator,开发者可以利用 PC 端丰富的调试工具和调试信息,降低嵌入式系统开发和调试的难度。

af5e0ccab509b3acd3706964f4ce43bb.jpeg

下载体验发现,该工具从外观到开发调试,都比较像微软 VS Code,也是比较轻量化,方便开发者快速上手,官方也称是基于 VS Code 开源代码修改而来。快应用的开发也类似网页开发,具体大家可以自行体验。

雷军在文中提及的Vela,熟悉物联网开发的朋友可能就有所耳闻,它就是小米的嵌入式操作系统,应用于米家的智能家居产品上。而Vela便是基于NuttX RTOS打造的,接下来将会浅析下为什么小米会使用NuttX作为其实时操作系统。

5fc37402bdb5f003118622c9bcfb4953.png

不过话说回来,我明明记得雷军在发布会上说的是去年11月开源,难道到现在还没开?

这让人觉得不可思议,请各位友友们脑补。。。

计算机专业必读书籍:

2024年必读高质量计算机编程书籍

最后说一句(别白嫖,求关注)

回复 【idea激活】即可获得idea的激活方式
回复 【Java】获取java相关的视频教程和资料
回复 【SpringCloud】获取SpringCloud相关多的学习资料
回复 【python】获取全套0基础Python知识手册
回复 【2020】获取2020java相关面试题教程
回复 【加群】即可加入终端研发部相关的技术交流群

重磅!OpenAI正研发ChatGPT文本水印技术,其他大模型将何去何从?

2024年必读高质量计算机编程书籍

一条 SQL 引发的事故,同事直接被开除!!

太扎心!排查阿里云 ECS 的 CPU 居然达100%

一款vue编写的功能强大的swagger-ui,有点秀(附开源地址)

首位 AI 科学家问世


相信自己,没有做不到的,只有想不到的在这里获得的不仅仅是技术!



喜欢就给个“在看”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2072879.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Reinforcement-Learning 2.State Value and Bellman Equation

目录 0.Outline 1.Motivating examples Motivating example 1: Why return is important? Motivating example 2: How to calculate return? 2.State value 3.Bellman equation: Derivation Deriving the Bellman equation An illustrative example Exercise 4.Be…

FreeSWITCH 1.10.10 简单图形化界面28 - 麒麟V10 SP3服务器系统X86和ARM版本安装FreeSWITCH

FreeSWITCH 1.10.10 简单图形化界面28 - 麒麟V10 SP3 服务器系统X86和ARM版本安装FreeSWITCH 界面预览00、先看使用手册01、 麒麟服务器v10 sp3 x86版本1、安装操作系统2、下载安装脚本3、安装 02、麒麟服务器v10 sp3 arm版本1、安装操作系统2、下载安装脚本3、安装 03、登录网…

搭建一个私有的知识库mm-wiki

文章目录 前言一、mm-wiki二、安装步骤下载安装 总结 前言 一般公司内部想要记录一些东西,都需要一个共享文档,当然可以选择类似比较简单易用的,有道云笔记,腾讯文档,语雀等,但是肯定有些公司是保密的,所以不希望这些数据被泄露,当然选择本地存储是最安全的~ 一、mm-wiki 对于…

vue3+vite配置环境变量实现开发、测试、生产的区分

文章目录 一、为什么需要区分 (dev)、测试 (test) 和生产 (prod) 环境二、vue3的项目如何通过配置方式区分不同的环境1、创建不同环境的.env文件2、在不同的.env文件中配置相应的环境变量1).env.develoment2).env.test3).env.production 3、在…

查找2

树表的查找 1)二叉排序树 I)二叉排序树的插入 II)二叉排序树的生成 III)二叉排序树的删除 2)平衡二叉树 I)平衡二叉树调整 、

MMOE+ESSM

MMOE 动机 多个任务之间的相关性并不是很强,这个时候如果再用过去那种共享底座embedding的结构,往往会导致『跷跷板』现象。 当前学术界已经有很多工作意识到1中描述的问题并且尝试去解决,但大多数工作的套路都是『大力出奇迹』的路子&…

zigbee笔记、十五、组播通信原理

一、zigbee四种通讯 1、单播(略) 2、广播(略) 3、组播:在zigbee网络中,模块可以用分组来标记,发送的模块如果发送的组号和网络里面标记接收模块的组号相对应,那么这些模块就可以拿到…

深度剖析渗透测试:流程、规范与实战全指南

一、引言 在当今数字化时代,网络安全问题日益凸显。渗透测试作为一种主动的安全评估方法,能够帮助企业和组织发现潜在的安全漏洞,提高系统的安全性。本文将详细介绍渗透测试的实施流程、规范、不同类型的测试方法以及相关的 checklist 和报告…

Matlab处理H5文件

1.读取h5文件 filenamexxx.h5; h5disp(filename) 2.h5文件保存为mat文件 读取 HDF5 文件中的数据 % 指定 HDF5 文件的路径 filename xxx.h5;% 读取 HDF5 文件中的各个数据集 A241_P h5read(filename, /A241_P); A241_W h5read(filename, /A241_W); A242_P h5read(filen…

ensp 中 wlan 的配置过程和示例

一、拓朴: 要求:vlan20 用于笔记本上网,使用Huawei信号,vlan30 用于手机上网,使用 Huawei-5G 信号 二、配置过程: 1、SW1 基本配置: 起 vlan batch 10 20 30,10 为管理 vlan&#…

Acrobat Pro DC 2024 for mac/Win:跨平台PDF编辑与管理的巅峰之作

Adobe Acrobat Pro DC 2024是一款专为Mac和Windows用户设计的全面PDF解决方案软件,它集成了创建、编辑、转换、共享和签署PDF文件的强大功能,为用户带来前所未有的高效与便捷体验。 强大的PDF编辑功能 Acrobat Pro DC 2024在PDF编辑方面表现出色。用户…

JavaScript初级——DOM增删改

1、 document.createElement() —— 可以用于创建一个元素节点对象,他需要一个标签名作为参数,将会根据该标签名创建元素节点对象,并将创建好的对象作为返回值返回。 2、 document.createTextNode(&#…

职场达人必备!MyComputerManager助你轻松管理快捷方式

前言 你是否还在为硬盘管理界面上那一堆乱糟糟的快捷方式头疼不已?是不是每次打开‘此电脑’都像是在玩寻宝游戏,寻找那个被深埋的文件夹?想象一下,如果能在此电脑页面一键启动程序,是不是觉得整个人都轻松了许多&…

使用Tabs组件提升页面内容的聚焦与分类效率

当页面信息量较大时,为了提高用户的浏览效率,我们需要对页面内容进行有效的分类和展示。HarmonyOS提供的Tabs组件是一个理想的解决方案,可以在一个页面内快速切换视图内容,提升用户查找信息的效率,同时减少用户在单次操…

CSS定位与布局

一、display属性(元素如何显示) 网页上的每个元素都是一个​盒模型​。​display​属性决定了盒模型的​行为方式​,设置元素如何被显示。 display常用的属性共有​4个​值: ​display: none;​ -- 让标签消失(隐藏元素并脱离文档…

Mac M1Pro 安装Java性能监控工具VisualVM 2.1.9

本地已经安装了java8,在终端输入jvisualvm提示没有安装 zhiniansara ~ % jvisualvm The operation couldn’t be completed. Unable to locate a Java Runtime that supports jvisualvm. Please visit http://www.java.com for information on installing Java.官网…

Kafka事件(消息、数据)的存储

1、查看有关kafka日志配置文件的信息 2、查看kafka全部主题的日志文件 3、查看每个主题的日志文件 4、__consumer_offsets-xx文件夹的作用 package com.power;public class Test {public static void main(String[] args) {int partition Math.abs("myTopic".hashCo…

企业微信API对接文档【可向微信用户发消息】

目录 企业微信API对接文档 1.背景 2.获取微信第三方token 3.安装docker环境 4.打包与启动 4.1打包镜像 4.2启动容器(启动应用) 5.企业微信二维码验证 5.1 获取初始二维码 5.2 第1次二维码验证 5.3 第2次二维码验证 6. 企业微信三…

上博士为了毕业写学术论文头都大了,但更难受的是英语不咋地,投稿后经常会因为语言问题而惨遭拒稿,每每想起就令人心情郁郁,天台可期。

上博士为了毕业写学术论文头都大了,但更难受的是英语不咋地,投稿后经常会因为语言问题而惨遭拒稿,每每想起就令人心情郁郁,天台可期。有些审稿人也会直接告知需要专业的修改,那咋整呢,让润色呗,…

虚拟机virtualbox linux ubuntu使用usb串口

1.卸载brltty sudo apt remove brltty brltty是一个没啥用但是会抢占ch431的软件,所以卸载它 2.连接上串口,点击连接对应的usb串口 3.查看是否连接上 sudo dmesg -T | grep tty 查看tty组的最近日志,如果连接成功会显示连接的时间和串口…