合宙LuatOS的个人空间 https://www.eechina.com/space-uid-176273.html [收藏] [复制] [RSS]

博客

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

已有 36 次阅读2025-5-22 11:01 |个人分类:4G模组| 物联网, 单片机, 4G模块, 通讯模组, 嵌入式硬件

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

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


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
返回顶部