LuatOS 实测分析:zbuff / UART / MQTT / Socket 四大功能内存解析
LuatOS 实测分析:zbuff / UART / MQTT / Socket 四大功能内存解析
在基于 LuatOS 的嵌入式项目开发中,工程师在处理大数据传输、本地文件读写以及网络通信功能时,经常面临一些共性的技术挑战。例如:zbuff 缓冲区的实际内存分布难以确认、UART 传输大文件时程序易崩溃、MQTT 和 Socket 频繁收发下内存波动剧烈,难以维持稳定状态。为此,本文以 Air780EHM 模组为实测平台,深入分析 Lua 运行内存、系统底层内存及外接 PSRAM 的资源分配逻辑。
从硬件层面看,Air780EHM 模组的系统内存与 PSRAM 内存共享统一物理存储空间,数据可互通。因此,在常规开发调试中,只需关注系统内存状态,而无需单独区分 PSRAM 内存。
一、zbuff 功能内存使用分析
zbuff 是 LuatOS 中用于操作二进制数据的核心库,其内存结构由两部分组成:
- LuatOS 元数据:占用较小,存储于 Lua 内存中。
- C 层数据块:占用较大,优先在 PSRAM 中分配;若 PSRAM 不可用或分配失败,则在 SRAM 的 sys 分区中申请。
1.1 示例代码
以下代码展示了 zbuff 的内存使用情况:
查看全文
慧生活



评论0条评论