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

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

3天内不再提示

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

合宙LuatOS 来源:合宙LuatOS 作者:合宙LuatOS 2025-05-16 13:56 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

实时系统的开发挑战在于平衡响应时间与系统开销。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

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

审核编辑 黄宇

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

    关注

    37

    文章

    7328

    浏览量

    128627
  • LuatOS
    +关注

    关注

    0

    文章

    134

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

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

    开启芯片级开发实战。 一、MCU核心库函数功能 MCU核心LuatOS中封装MCU一些特殊操作
    的头像 发表于 11-12 14:30 140次阅读
    <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 149次阅读
    新手必备:<b class='flag-5'>LuatOS</b> MCU<b class='flag-5'>核心</b><b class='flag-5'>库</b>功能测试与<b class='flag-5'>实践</b>指南

    【好书推荐】RT-Thread第22本相关书籍!《嵌入式实时操作系统开发实践》| 技术集结

    教学的首选平台。本次推荐的第22本RT-Thread相关书籍——《嵌入式实时操作系统开发实践(基于英飞凌PSoC62和RT-Thread)》正是一本将理论
    的头像 发表于 10-16 18:46 373次阅读
    【好书推荐】RT-Thread第22本相关书籍!《嵌入式<b class='flag-5'>实时</b><b class='flag-5'>操作系统开发</b><b class='flag-5'>实践</b>》| 技术集结

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

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

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

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

    【好书推荐】RT-Thread第20本相关书籍!《嵌入式实时操作系统RT-Thread原理与应用》| 技术集结

    01内容简介ContentSummary本书为读者提供了一个全面、系统的RT-Thread学习指南,旨在帮助初学者及有经验的开发者掌握RT-Thread实时操作系统和STM32嵌入式微
    的头像 发表于 08-24 10:05 688次阅读
    【好书推荐】RT-Thread第20本相关书籍!《嵌入式<b class='flag-5'>实时</b><b class='flag-5'>操作系统</b>RT-Thread原理与应用》| 技术集结

    零基础学习LuatOS编程:快速上手开发实战教程!

    无论你是刚接触物联网编程的新手,还是希望拓展技能的技术爱好者,本教程将为零基础的读者提供一条清晰的LuatOS学习路径。安装开发工具到编写第一个程序,我们将通过实例讲解核心概念,助你
    的头像 发表于 06-13 17:27 450次阅读
    零基础学习<b class='flag-5'>LuatOS</b>编程:快速上手<b class='flag-5'>开发</b>实战教程!

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

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

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

    电机控制、传感器采集等实时数据处理场景。 在LuatOS开发中, 用于实时操作系统(RTOS)相关功能的
    的头像 发表于 05-21 16:02 513次阅读
    揭秘<b class='flag-5'>LuatOS</b>:<b class='flag-5'>实时</b><b class='flag-5'>操作系统</b>RTOS<b class='flag-5'>核心</b><b class='flag-5'>库</b>的关键技术剖析!

    全栈开发进阶指南:LuatOS-log入门到实战!

    本文将带你深入探索LuatOS系统中log核心原理与实战技巧,通过代码示例解析日志管理、错误追踪及性能优化的最佳实践,助力全栈工程师构建
    的头像 发表于 05-15 16:12 2674次阅读
    全栈<b class='flag-5'>开发</b>进阶指南:<b class='flag-5'>LuatOS</b>-log<b class='flag-5'>库</b><b class='flag-5'>从</b>入门到实战!

    UC3854 功率因数校正设计全攻略:理论到实战

    【限时下载】UC3854 功率因数校正(PFC)设计全攻略:理论到实战,工程师必备技术手册 *附件:《UC3854 功率因数校正设计全攻略:理论到实战》.pdf 为什么工程师必须掌
    的头像 发表于 04-09 15:35 1126次阅读
    UC3854 功率因数校正设计全攻略:<b class='flag-5'>从</b><b class='flag-5'>理论到</b>实战

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

    鸿道Intewell操作系统是科东软件自主研发的新型工业实时操作系统,历经30多年研发积累,采用业界领先的微内核架构,具备高实时、高安全及强扩展的特性,是目前国内唯一通过汽车、工业控制
    的头像 发表于 02-27 10:08 617次阅读
    鸿道Intewell<b class='flag-5'>操作系统</b>的Linux<b class='flag-5'>实时</b>拓展方案

    电子设备EMC测试整改:理论到实践的跨越

    深圳南柯电子|电子设备EMC测试整改:理论到实践的跨越
    的头像 发表于 02-20 14:46 953次阅读
    电子设备EMC测试整改:<b class='flag-5'>从</b><b class='flag-5'>理论到</b><b class='flag-5'>实践</b>的跨越