登录社区云,与社区用户共同成长
邀请您加入社区
近日,全球知名开源图形库 LVGL 创始人 Gábor Kiss-Vámos 携社区核心成员莅临北京小米总部,与 openvela 社区团队展开深度线下交流。这是双方在 GitHub 长期线上协作后的首次面对面会晤,不仅标志着彼此合作关系的升级,更彰显了 LVGL 社区对 openvela 社区的高度重视与认可,为开源图形生态的协同发展注入新活力。 会谈中,Gáb
在开源实时操作系统(RTOS)领域,Xiaomi Vela 实现行业领跑——率先完成 POSIX PSE52 官方全项认证。这一里程碑成果意味着开发者可无缝迁移现有 Linux 生态的成熟应用与工具链到 Xiaomi Vela 系统,无需额外适配即可开展开发工作,大幅降低学习成本与技术门槛。Xiaomi Vela 团队表示:“我们希望彻底打通不同系统间的技术壁垒,通过全面拥抱国际标准,让开发者的创
在着手分析和优化软件性能之前,您必须首先评估硬件的性能基准。硬件规格定义了系统性能的上限(即“性能天花板”),确认硬件能力能否满足项目需求,是所有性能工作的起点。 一、核心硬件性能指标 评估硬件时,请重点考察以下核心指标。这些指标直接影响系统的计算、存储和图形处理能力。 计算核心 (Processing Core) CPU 频率:决定处理器的基本运算速度。浮点运算单元 (FPU):评估其是否支持以
函数 up_cpu_wfi() 是平台进入低功耗状态的核心,它由示例代码中的 up_pm_idle_handler 调用。该函数的实现与 CPU 架构紧密相关。本章节提供主流架构 (Cortex-M 和 RISC-V) 的参考实现和关键技术点的解析。
本文档旨在指导您在 openvela 系统中正确配置 Telephony 服务,以启用蜂窝网络通信能力。启用此服务涉及多个关键组件的协同工作,包括 D-Bus 消息总线、oFono 电话协议栈、无线接口层(Radio Interface Layer, RIL)以及相关的库和工具。
小米"人车家全生态"战略依托开源操作系统openvela实现多设备互联。作为基于NuttX打造的技术底座,openvela已广泛应用于智能穿戴、车载设备等领域。小米与NuttX团队秉持开源协同理念,推动标准化接口和开发者生态建设,避免行业碎片化。自2017年起,小米持续贡献NuttX社区代码,助力其成为Apache顶级项目。双方合作印证了开源协作的价值——通过降低开发门槛、促进
该应用是一款智能手环演示,包括手表表盘、启动器、音乐、心率、秒表、睡眠、运动、设置、手电筒,分辨率为 194*368。可以在 apps/packages/demos/bandx/ 目录中了解有关 bandx 的更多详细信息。本文介绍如何在模拟器上运行该示例。
本文档指导开发者如何使用 openvela 系统中 Procfs (/proc 文件系统) 提供的电源管理 (PM) 接口。通过此接口,您可以实时监控每个电源域 (Power Domain) 的功耗状态分布,并诊断 Wakelock 的使用情况,是功耗优化与问题定位的强大工具。:系统必须在 Kconfig 中启用 Procfs (CONFIG_FS_PROCFS=y)。
中断:是 CPU 响应系统中发生的某个异步事件时的一种机制。它会暂停当前正在执行的任务,保存工作状态,然后跳转去处理该事件。处理完成后,再精确地返回到刚才暂停的地方,恢复状态,继续执行。这个定义可能有些抽象,让我们用一个经典的例子来理解它:想象你正在专心阅读一本书(CPU 在执行主程序),这时门铃突然响了(一个硬件事件,如按键按下)。•暂停与标记:你不会立刻把书扔掉。你会记住你读到了第几页第几行,
在中提到 vela 日志输出支持多通道日志输出,它们是在系统运行前期配置好的,所以无法将它们动态删除。但是可以控制使能、禁用某通道,达到相应通道输出、不输出日志的目的。接下来篇章将讲述”动态管理日志输出通道方法“和”动态管理日志输出通道原理“。
联合课程将二者优势整合,既能帮助开发者避免 “从零开发 RTOS” 的重复劳动,又能让他们系统掌握 “NuttX 内核 + openvela 生态” 的协同应用能力,为全球开发者提供阶梯式学习路径。从此次大会披露的数据看,openvela 在性能、安全、兼容性等核心指标上已达到国际一流水平;同时,其“三平台同步开源”、“多元学习路径支持”、“开发者激励计划”等举措,精准触达了全球开发者的实际需求。
不是我们做出了某个厉害的设备,而是我们提供了一种协同范式——原来两个不同背景的团队,可以通过“标准化+开源+开发者赋能”,一起解决行业的共性问题。
nxcodec 是一个命令行测试工具,用于验证 V4L2 (Video4Linux2) M2M (Memory-to-Memory) Codec 驱动的功能。它支持对视频流进行编码 (Encode) 和解码 (Decode) 操作。
OpenVela架构以其内核层的高效和可定制性、系统服务层的丰富功能、框架层的模块化设计和API接口支持、应用层的多样性和跨平台开发能力以及关键技术特性的全面性和先进性等特点,在AIoT领域具有广泛的应用前景和显著的优势。
OpenVela各模块之间的交互方式和数据流是复杂而有序的。通过定义良好的接口和协议栈支持,各个模块能够高效地协同工作,实现系统的稳定运行和高效性能。同时,开发者工具与调试模块为开发者提供了强大的支持和便利,使得开发和调试过程更加高效和可靠。
如果硬件要求使用特殊的内存(如物理连续、特定地址范围等),驱动需要适配 alloc_buf 和 free_buf 回调。实现接口: 在 codec_ops_s 中提供 alloc_buf 和 free_buf 的具体实现,内部调用芯片平台专用的内存分配器。数据流: 缓冲区交互流程与默认模式完全相同,驱动依然通过 get_buf/put_buf API 与框架交互,实现了零拷贝。
本文档为开发者提供在 openvela 平台上为 FFmpeg 启用 V4L2 M2M (Video4Linux2 Memory-to-Memory) 硬件加速功能的详细指南。V4L2 M2M 是一个标准的 Linux 内核框架,专用于无显示硬件的内存到内存视频处理设备,例如视频编解码器。通过将 FFmpeg 与支持 V4L2 M2M 的硬件驱动相结合,系统可以将 H.264 等视频编解码任务从
一、概述 LeakSanitizer (LSan) 是一款高效的堆内存泄漏检测工具。它作为运行时工具,能够在程序退出时自动检测并报告未释放的内存,帮助开发者定位和修复内存泄漏问题。LSan 可以与AddressSanitizer(ASan) 或MemorySanitizer(MSan) 协同工作,也可以独立运行。 注意 在 openvela 环境中,LSan 目前仅支持在sim 仿真平台上使用。
在 C 语言程序开发中,不安全的函数调用(例如memcpymemset)是导致缓冲区溢出的常见原因,这可能引发程序崩溃或安全漏洞。是一项编译器特性,它通过在编译时替换标准库中不安全的函数,为您的应用程序增加一层额外的边界检查。此功能帮助您在开发和运行阶段快速定位并修复由库函数调用引起的内存越界问题。其主要优势在于开销极低,适合在生产环境中持续开启。
本文档全面介绍了 _FORTIFY_SOURCE 的功能、配置和原理,并对其与 KASan 的差异进行了分析。通过阅读本文,开发者可以理解如何利用_FORTIFY_SOURCE检测并避免库函数引发的越界问题,从而提升应用程序的安全性。 一、概述 在 C 语言程序开发中,不安全的函数调用(例如memcpy、memset)是导致缓冲区溢出的常见原因,这可能引发程序崩溃或安全漏洞。 _FORTIFY_S
AddressSanitizer (ASan) 是一款基于编译器的、高效的内存错误检测工具,能够帮助开发者在运行时精确地发现和诊断各类内存问题。本指南详细介绍如何在 openvela 的simulator平台中启用和使用 ASan。 注意:当前 AddressSanitizer 功能仅在simulator平台上受支持。 一、概述 AddressSanitizer (ASan) 是Google Sa
未来将以本次沙龙为契机,深化与 openvela 生态的协同联动,推动开源技术在更多应用场景实现规模化落地,并提出与小米及生态伙伴共建联合实验室、联合高校打造人才闭环、为合作伙伴提供全链条服务三大合作方向,期待 openvela 在无锡扎根结果,成为物联网领域中国技术新名片。他指出,新吴区作为无锡物联网产业发展的核心承载区,始终高度重视开源技术创新与生态构建,后续将持续优化产业政策环境,吸引更多人
12 月 4 日,openvela 城市沙龙(无锡站)在华勤无锡研发中心圆满举办。本次沙龙以“聚焦开源操作系统创新,共话 AIoT 产业未来”为核心主题,得到了无锡市新吴区政府、无锡市物联网产业协会、无锡市科学技术普及促进协会的大力支持,由华勤技术股份有限公司与 openvela 生态联合主办。活动现场汇聚了众多行业同仁,无锡市发改委副主任、新吴区政府党组成员张弘,华勤技术股份有限公司副总裁高继忠
2025年12月2日下午,openvela 人才标准研讨会暨城市沙龙(重庆站)在重庆电子科技职业大学圆满落幕。本次活动由 openvela 社区主办,以“开放融合,聚势共生 ”为主题,聚焦开源操作系统生态与高校人才培养的深度融合,旨在推动 openvela 教育圈共建计划在西南地区的落地实施。现场设置了“技术分享 ”与“产教融合研讨 ”两大环节,内容涵盖 openvela 开源战略、蓝牙互联技术、
前言 蓝牙(Bluetooth)技术的普遍认知常局限于短距离、低速率和低功耗等传统特性。然而,随着技术标准的演进与工程实践的深化,现代蓝牙技术已在多个性能维度上取得重大突破,例如实现长达7 公里的远距离通信、支持720p高清视频流传输,并在特定高负载场景下展现出相应的功耗需求。 蓝牙技术的应用范畴也已远超个人音频设备。在小米“人车家全生态”战略中,小米澎湃智联(Xiaomi HyperConnec
本文档指导您如何在 openvela 系统中启用并使用功能。通过启用此功能,您可以将完整的符号表编译到固件镜像中,从而在设备运行时将函数地址直接解析为可读的函数名,提升在线调试(例如分析崩溃栈)的效率。
本指南详细阐述了如何在 Visual Studio Code (VSCode) 中配置和使用 GDB,以实现对sim 仿真环境的图形化调试。通过 VSCode,您可以获得现代化的调试体验,包括设置断点、查看调用栈、监视变量和内存,从而显著提升开发与排错效率。
本指南旨在为开发者提供一份全面而实用的 GNU Debugger (GDB) 操作手册。无论您是初学者还是希望深化嵌入式调试技能的开发者,都能从中获益。
简介 该应用是一款智能手环演示,包括手表表盘、启动器、音乐、心率、秒表、睡眠、运动、设置、手电筒,分辨率为 194*368。可以在apps/packages/demos/bandx/目录中了解有关 bandx 的更多详细信息。 本文介绍如何在模拟器上运行该示例。 前提条件 下载源码,请参见快速入门。 步骤一 配置项目 切换到 openvela 仓库的根目录,执行如下命令来配置手环 Bandx。 说
简介 本文介绍如何在模拟器中运行音乐播放器 Demo。 前提条件 下载源码,请参见快速入门。 步骤一 配置项目 切换到 openvela 仓库的根目录,执行如下命令来配置音乐播放器。 说明:模拟器配置文件(defconfig)在vendor/openvela/boards/vela/configs/goldfish-armeabi-v7a-ap/目录下,使用build.sh配置和编译开发板的代码。
本文档旨在介绍在 openvela 系统的 IDLE 线程中执行电源管理 (Power Management, PM) 操作的推荐方法。IDLE 线程是系统没有其他活动任务时执行的线程。因此,它是进入低功耗状态(如 Standby 或 Sleep)以节省能源的理想位置。为了确保电源状态切换的原子性和稳定性,该过程必须在禁止中断和调度器锁定的临界区内执行。
X-TRACK Demo 移植自开源项目它是一个自行车码表,拥有时速显示、路程统计和实时轨迹显示等功能,显示分辨率为 240x320,使用触摸屏交互。代码目录位于:apps/packages/demos/x_track本文介绍如何在模拟器上运行该示例。
本文介绍如何在 openvela 中编写一个简单的音乐播放器。修改 apps/packages/demos/music_player/res 下面的相关配置,在 res/musics 目录下增加新的音乐媒体文件,格式目前只支持 *.wav,可以自行将 *.mp3/aac/m4a 等格式的媒体文件转换为 *.wav 格式。参数参数说明path待播放媒体的文件路径name媒体名artist艺术家名co
您可以通过修改 demos/relation_calculator/relation_cal.c 文件来扩展计算器功能,增加新的关系。此计算器采用状态转移模型来确定最终关系。要增加一个新关系,您需要定义其转换逻辑和对应的名称。在 transitions 数组中,添加一个新的条目来定义关系如何组合。每个条目遵循 relation_transformation_t 结构体格式。例如,[我][爸爸] =
本文档详细介绍如何在 openvela 系统上为 QEMU 模拟器和 ESP32-S3-BOX 开发板构建、部署和运行 Whack-a-Mole(打地鼠)演示应用程序。您将学习如何配置项目、编译固件、运行应用,并对游戏功能进行自定义修改。
openvela 基于开源操作系统 NuttX 构建,进一步提供多种系统级服务。为了使 openvela 更加完善和功能全面,需要引入完整的开发框架或功能模块。
对父时钟频率 (fp) 进行四舍五入,得到最接近的父时钟频率 (fpbest)。框架提供 clk_register 接口,用于注册时钟控制节点。功能:根据 reg 对应的位选择父时钟频率,通过分数除法计算输出频率。功能:根据 reg 对应的位选择父时钟频率,并进行相位调节。功能:根据 reg 对应位的值对父时钟频率进行分频。功能:根据 reg 对应的位选择父时钟频率输出。
函数up_cpu_wfi()是平台进入低功耗状态的核心,它由使用 pm_idle 标准化 Idle 线程的功耗管理示例代码中的up_pm_idle_handler调用。该函数的实现与 CPU 架构紧密相关。本章节提供主流架构 (Cortex-M 和 RISC-V) 的参考实现和关键技术点的解析。 一、Cortex-M 架构 在 Cortex-M 架构中,尤其是在启用了零延迟中断 (CONFIG_A
本文档为嵌入式系统开发者提供在 openvela 实时操作系统中,使用 pm_idle 接口实现标准化空闲 (Idle) 线程功耗管理的方法。openvela 提供 pm_idle 接口,旨在为(Uniprocessor, UP) 和(Symmetric Multiprocessing, SMP) 架构提供统一、标准的 Idle 线程处理流程。该接口封装了复杂的电源状态决策和多核同步逻辑,可显著简
一、概述 本文档旨在介绍在 openvela 系统的 IDLE 线程中执行电源管理 (Power Management, PM) 操作的推荐方法。 IDLE 线程是系统没有其他活动任务时执行的线程。因此,它是进入低功耗状态(如 Standby 或 Sleep)以节省能源的理想位置。为了确保电源状态切换的原子性和稳定性,该过程必须在禁止中断和调度器锁定的临界区内执行。 二、核心原则:确保原子性操作
本文面向操作系统初学者,旨在用最简单易懂的方式,带您探索计算机是如何从一次只能做一件事,演进到能够同时处理多个任务的。我们将一起揭开多线程、中断和上下文切换这些核心概念的神秘面纱。 读完本文,您将理解: • 为什么现代操作系统需要多线程? • 什么是中断?它如何让 CPU 变得“耳聪目明”? • “上下文切换”究竟切换的是什么?它如何实现任务的“无缝衔接”? 一、程序如何运行:CPU 的基本工作原
openvela
——openvela
联系我们(工作时间:8:30-22:00)
400-660-0108 kefu@csdn.net