如果查看剩余RAM和FLASH?

请先 登录 后评论

3 个回答

朱天华 - 软件工程师

1楼回答错了

log.info("FS free size:", rtos.get_fs_free_size())

rtos.get_fs_free_size()接口返回的单位是字节,不是bit,不需要再除以8了

请先 登录 后评论
技术销售Delectate
擅长:IT

如果开发者是AT模式,不需要额外关注RAM和Flash,如果是使用lua开发,可以执行如下代码:

log.info("MEM free size", 1024 - base.collectgarbage("count"))
log.info("FS free size:", rtos.get_fs_free_size() / 8)

开发者需要注意的是:

  1. 内存剩余的空间单位是kbyte,存储默认剩余的空间是bit,所以后者需要除以8;
  2. 对于RDA 8955系列模块(如Air202),lua运行内存为1024k;
  3. 如果需要顺利执行OTA,剩余的存储空间需是升级包(.bin文件)的4倍。
请先 登录 后评论
秦鹏 - Luat菜鸟

uat_VXXXX_8955.lod: Lua脚本和资源(通过烧写工具烧写的文件,例如lua脚本文件,mp3音频文件)可用768KB 文件系统(例如脚本运行过程中创建的参数文件,录音文件,远程升级文件等)可用860KB

Luat_VXXXX_8955_SSL.lod: LuaDB脚本和资源(通过烧写工具烧写的文件,例如lua脚本文件,mp3音频文件)可用768KB 文件系统(例如脚本运行过程中创建的参数文件,录音文件,远程升级文件等)可用796KB

Luat_VXXXX_8955_SSL_TTS.lod: LuaDB脚本和资源(通过烧写工具烧写的文件,例如lua脚本文件,mp3音频文件)可用324KB 文件系统(例如脚本运行过程中创建的参数文件,录音文件,远程升级文件等)可用344KB

Luat_VXXXX_8955_SSL_UI.lod: LuaDB 脚本和资源(通过烧写工具烧写的文件,例如lua脚本文件,mp3音频文件,图片文件)可用704KB 文件系统(例如脚本运行过程中创建的参数文件,录音文件,远程升级文件等)可用540KB

Luat_VXXXX_8955_TTS_UI.lod: LuaDB 脚本和资源(通过烧写工具烧写的文件,例如lua脚本文件,mp3音频文件,图片文件)可用152KB 文件系统(例如脚本运行过程中创建的参数文件,录音文件,远程升级文件等)可用132KB

Luat_VXXXX_8955_TTS1.lod: LuaDB脚本和资源(通过烧写工具烧写的文件,例如lua脚本文件,mp3音频文件)可用216KB 文件系统(例如脚本运行过程中创建的参数文件,录音文件,远程升级文件等)可用260KB

Luat_VXXXX_8955_UI.lod: LuaDB 脚本和资源(通过烧写工具烧写的文件,例如lua脚本文件,mp3音频文件,图片文件)可用512KB 文件系统(例如脚本运行过程中创建的参数文件,录音文件,远程升级文件等)可用796KB

Luat_VXXXX_8955F.lod:64M flash版本(Air202F),支持SSL、TTS、SPI接口的LCD功能。除去系统所占空间,还剩余5M ROM 和1M RAM可供开发者使用。

文件系统的实际空间可通过rtos.get_fs_free_size()打印

无论是哪一种底层软件,关于文件系统空间的使用,注意以下几点: 如果用烧写工具烧写脚本和资源时,自动勾选了压缩功能(默认不勾选,只有脚本和资源大小超过Lua脚本和资源可用空间时,才会自动勾选),则开机后,会自动解压缩所有的脚本和资源文件到文件系统中 如果用到远程升级功能,一定要为远程升级文件预留足够用的空间,至少保留升级bin文件大小+“所有脚本和资源的原始大小之和”的文件系统空间

RDA8955的RAM总空间都为4MB 其中Lua运行内存1024KB,Luat框架引用的一些lua模块需要占用一定的运行内存,可通过下面代码实时打印RAM和FLASH

print("mem:",_G.collectgarbage("count"))  -- 打印占用的RAM
print("flash",rtos.get_fs_free_size()) -- 打印剩余FALSH,单位Byte
请先 登录 后评论
  • 2 关注
  • 0 收藏,2707 浏览
  • qin0036 提出于 2018-08-24 06:48

相似问题