今天我们将以合宙主推型号Air780EPM模组为例,特别分享RTOS底层操作库相关内容。

  - RTOS底层操作库API函数 -  

00 手持Air780EPM模组 开发板 2503151101.gif

1. 系统管理

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

参数:无;

返回值:无。

示例:

D101.png

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

参数:无;

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

示例:

D102.png

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

参数:无;

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

示例:

D103.png

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

参数:无;

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

示例:

D104.png

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

参数:无;

返回值:字符串。

示例:

D105.png

2. 内存管理

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

参数:

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

返回值:

  • 总内存大小(字节);

  • 已使用内存(字节);

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

示例:

D201.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空闲时触发。

示例:

D202.png

3. 路径配置

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

参数:

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

返回值:无。

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

示例:

D301.png

4. 其他底层交互

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

参数:

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

返回值:

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

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

示例:

D401.png

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

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

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

示例:

Logo

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。

更多推荐