0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

揭秘LuatOS:实时操作系统RTOS核心库的关键技术剖析!

青山老竹农 来源:jf_82863998 作者:jf_82863998 2025-05-21 16:02 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

为满足实时控制场景的严苛需求,LuatOS核心库采用抢占式调度策略,确保高优先级任务即时响应。通过静态内存分配和零拷贝通信机制,系统不仅避免了动态内存碎片问题,还大幅提升了任务间数据交换效率,适用于电机控制传感器采集等实时数据处理场景。

在LuatOS开发中,用于实时操作系统(RTOS)相关功能的核心库——提供了定时器管理、系统控制、内存监控、路径配置等底层操作接口,为物联网设备提供可靠的实时系统基础支撑。

本文以Air780EPM模组为例,分享RTOS底层操作库相关内容。

最新资料详见:https://docs.openluat.com/air780epm/luatos/api/core/rtos

- RTOS底层操作库API函数 -

wKgZO2gmylyAS8jCAAg5-TZVWBM649.png

1. 系统管理

1)重启设备:rtos.reboot()

参数:无;

返回值:无。

示例:

wKgZO2gmzLeABgFwAAAl5Qg1fz8419.png

2)获取固件版本号:rtos.version()

参数:无;

返回值:字符串(如 "V0001")。

示例:

wKgZO2gmzOmAFGqUAABc5FwhJk0866.png

3)获取固件编译日期:rtos.buildDate()

参数:无;

返回值:字符串(如 "2025-05-06")。

示例:

wKgZPGgmzQuAcHu9AABm2SGiJNo383.png

4)获取硬件BSP型号:rtos.bsp()

参数:无;

返回值:字符串(如 "Air780EPM")。

示例:

wKgZO2gmzUCADQDhAABaCPJc14Q616.png


5)返回底层描述信息:rtos.firmware()

参数:无;

返回值:字符串。

示例:

wKgZO2gmzW6Ac8WZAABECmjmOWw041.png

2. 内存管理

1)获取内存使用信息:rtos.meminfo(type)

参数:

type:内存类型("sys" 系统内存、"lua" Lua 虚拟机内存、"psram" PSRAM 内存)。默认为 "lua"。

返回值:

总内存大小(字节);

已使用内存(字节);

历史最高使用内存(字节)。

示例:

wKgZO2gmzbaADEobAACP52uEC3Y831.png

2)配置内存自动收集策略(补充Lua自动垃圾回收机制)

rtos.autoCollectMem(period,warning_level, force_level)

参数:

period:自动收集周期(毫秒),等同于receive调用次数,0~60000。如果是0,则关闭自动收集功能,默认是100;

warning_level:内存使用警戒水位线(百分比),是总luavm内存量的百分比,50~95,内存达到(>=)警戒线时才会开始判断是否要收集。默认是80;

force_level:内存使用强制收集水位线(百分比),是总luavm 内存量的百分比,50~95,内存达到(>=)强制收集线时会强制收集。默认是90,必须比警戒水位线warning_level大。

注意:内存自动收集配置,是lua本身收集机制的一种补充,不是必要的,而且只在luavm空闲时触发。

示例:

wKgZO2gmzhKALmemAACAxzCTEzs320.png

3. 路径配置

1)设置自定义Lua脚本搜索路径rtos.setPaths(pathA, pathB, pathC, pathD)

参数:

pathA~pathD:路径模板字符串(支持%s占位符)。

返回值:无。

注意:每个路径长度不超过23字节。

示例:

wKgZO2gmzkSAI_LEAAC6xT83Ngk735.png


4. 其他底层交互

1)接收并处理底层消息队列:rtos.receive(timeout)

参数:

timeout:超时时间,-1表示无限等待。

返回值:

消息ID(若为定时器消息则包含附加信息)。

注意:返回值格式由底层决定,Lua层不保证兼容性。

示例:

wKgZPGgmzpCAZsTUAAA2a-GQia4823.png


2)空操作函数:rtos.nop()

无参数、无返回值、无逻辑;

用途:性能测试或调试时使用。

示例:

wKgZO2gmzrWAEpkaAABMrzLRyF0509.png

今天的内容就分享到这里了~

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2951

    文章

    48270

    浏览量

    419683
  • LuatOS
    +关注

    关注

    0

    文章

    180

    浏览量

    2767
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    主流国产操作系统解析:技术特点与行业适配指南

    在信创产业全面推进、核心技术自主可控成为发展主线的背景下,国产操作系统已完成从技术突破到生态落地的关键跨越,形成多品牌差异化竞争的市场格局。各类操作
    的头像 发表于 03-27 14:27 398次阅读

    audio核心的运行机制与技术要点

    音频系统核心的稳定运行,是实现低延迟、高保真音频体验的前提。其内部通过精密的线程调度、缓冲区管理与设备驱动交互,保障音频数据的连续性与同步性。本文将聚焦其运行机制,逐层拆解关键技术
    的头像 发表于 02-06 19:17 252次阅读
    audio<b class='flag-5'>核心</b><b class='flag-5'>库</b>的运行机制与<b class='flag-5'>技术</b>要点

    什么是嵌入式操作系统

    要理解嵌入式操作系统(Embedded Operating System,简称 RTOS/EOS),我们可以从本质定义→核心区别→实际作用→典型特征→嵌入式开发场景适配,五个维度来拆解, 一
    发表于 12-09 10:33

    单片机的操作系统

    单片机操作系统主要分为实时操作系统RTOS)和嵌入式操作系统两类,以下是常见选择: 实时
    发表于 11-14 06:18

    嵌入式实时操作系统的特点

    实时嵌入式操作系统(Real-Time Embedded Operating System)是专门设计用于嵌入式系统实时操作系统。嵌入式
    发表于 11-13 06:30

    LuatOS MCU核心全接触:新手操作与功能测试攻略!

    开启芯片级开发实战。 一、MCU核心库函数功能 MCU核心LuatOS中封装MCU一些特殊操作核心
    的头像 发表于 11-12 14:30 441次阅读
    <b class='flag-5'>LuatOS</b> MCU<b class='flag-5'>核心</b><b class='flag-5'>库</b>全接触:新手<b class='flag-5'>操作</b>与功能测试攻略!

    新手必备:LuatOS MCU核心功能测试与实践指南

    各类开发需求。 一、MCU核心库函数功能 MCU核心LuatOS中封装MCU一些特殊操作核心
    的头像 发表于 11-12 14:26 516次阅读
    新手必备:<b class='flag-5'>LuatOS</b> MCU<b class='flag-5'>核心</b><b class='flag-5'>库</b>功能测试与实践指南

    如何选择合适的实时操作系统

    选择合适的实时操作系统RTOS,Real-Time Operating System)可能会影响你在不同行业的职业发展路径。
    的头像 发表于 09-09 14:47 1354次阅读

    Task任务:LuatOS实现“任务级并发”的核心引擎

    Task任务通过其强大的并发处理能力,使LuatOS能够在单线程环境中模拟多线程执行,通过协程的挂起与恢复机制,实现任务级的并行操作,显著提升系统效能。 sys核心
    的头像 发表于 08-28 13:49 685次阅读
    Task任务:<b class='flag-5'>LuatOS</b>实现“任务级并发”的<b class='flag-5'>核心</b>引擎

    揭秘LuatOS Task:多任务管理的“智能中枢”

    Task任务作为LuatOS核心组成部分,通过智能化的任务管理机制,实现任务的创建、调度与协同运行,让复杂应用得以高效并行处理,满足实时场景下的严苛需求。 sys核心
    的头像 发表于 08-28 13:48 871次阅读
    <b class='flag-5'>揭秘</b><b class='flag-5'>LuatOS</b> Task:多任务管理的“智能中枢”

    【「DeepSeek 核心技术揭秘」阅读体验】--全书概览

    讲解Deepseek的使用方法 第三章 深入剖析Deepseek-V3的模型架构、训练框架、推理阶段优化、后训练优化等关键技术 第四章关于DeepSeek-R1的技术剖析 第五章 从
    发表于 07-21 00:04

    鸿道Intewell实时操作系统有哪些应用场景

    鸿道Intewell工业操作系统作为一款国产实时操作系统RTOS),在工业领域因其高实时性、高可靠性和强定制化能力,被广泛应用于对
    的头像 发表于 06-26 10:15 961次阅读

    工业实时操作系统国产化关键战略冲刺期

    工业实时操作系统RTOS)堪称工业精密设备运行的中枢神经,其根本使命在于保障命令在绝对可控的时间约束内精确完成。无论半导体光刻机所需纳米级精准定位、精密电控系统百万分之一秒级的响应速
    的头像 发表于 06-24 14:11 625次阅读

    零延迟响应:安卓工控机如何用实时操作系统RTOS)赋能工业控制

    操作系统),在硬实时调度、确定性执行、资源隔离等方面实现突破,为工业控制注入确定性响应能力。 一、硬实时调度:重塑工业控制的时间基准 RTOS核心
    的头像 发表于 06-09 15:49 1562次阅读

    快速入门——LuatOS:sys多任务管理实战攻略!

    的开发者,这里将用最简明的步骤,助你轻松实现多任务应用开发! sysLuatOS核心系统调度,它基于Lua协程机制实现了实时多任务调
    的头像 发表于 05-29 14:36 1073次阅读
    快速入门——<b class='flag-5'>LuatOS</b>:sys<b class='flag-5'>库</b>多任务管理实战攻略!