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

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

审核编辑 黄宇

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

    关注

    2939

    文章

    47324

    浏览量

    407936
  • LuatOS
    +关注

    关注

    0

    文章

    134

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    单片机的操作系统

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

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

    开启芯片级开发实战。 一、MCU核心库函数功能 MCU核心LuatOS中封装MCU一些特殊操作核心
    的头像 发表于 11-12 14:30 142次阅读
    <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 150次阅读
    新手必备:<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 804次阅读

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

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

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

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

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

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

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

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

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

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

    基于LuatOS核心实时操作系统开发:从理论到实践~

    ,降低了系统阻塞风险。 在LuatOS开发中,用于实时操作系统RTOS)相关功能的核心
    的头像 发表于 05-16 13:56 407次阅读
    基于<b class='flag-5'>LuatOS</b><b class='flag-5'>核心</b><b class='flag-5'>库</b>的<b class='flag-5'>实时</b><b class='flag-5'>操作系统</b>开发:从理论到实践~

    实时操作系统RTOS选型指南及实例分析

    鸿道Intewell操作系统是由科东软件自主研发的新型工业操作系统,历经30多年研发积累,采用微内核架构和自主研发的Hypervisor虚拟化技术,保证系统
    的头像 发表于 02-27 15:21 1023次阅读

    ARM嵌入式实时操作系统比较

    在嵌入式系统领域,实时操作系统RTOS)是确保任务按时完成的关键技术。ARM架构因其低功耗、高性能的特点,在嵌入式
    的头像 发表于 12-28 09:15 2446次阅读

    鸿道Intewell工业操作系统,三大关键技术,领跑行业前沿

    鸿道工业操作系统,是软件定义控制的工业实时操作系统,具备三大关键技术:1、确定性计算与高实时响应(微秒级、
    的头像 发表于 12-25 14:46 779次阅读

    鸿道Intewell操作系统的Windows实时拓展方案

    鸿道Intewell操作系统的Windows实时拓展方案,即鸿道Intewell-Win构型,是一款专为工业控制领域设计的国产操作系统,支持Windows实时扩展,具备以下特点和优势:
    的头像 发表于 12-24 17:40 835次阅读
    鸿道Intewell<b class='flag-5'>操作系统</b>的Windows<b class='flag-5'>实时</b>拓展方案

    云计算HPC软件关键技术

    云计算HPC软件关键技术涉及系统架构、处理器技术操作系统、计算加速、网络技术以及软件优化等多个方面。下面,AI部落小编带您探讨云计算HPC
    的头像 发表于 12-18 11:23 798次阅读