Air202F(64Mb ROM模块)Flash空间划分说明

Air202F是上海合宙通信科技有限公司推出的64Mb Rom的GSM/GPRS 通信模块。与以往的Air202、Air800等模块相比,重要的区别是Flash空间由32Mb扩充到64Mb,软件上可以同时支持SSL、TTS、虚拟SIM卡、...

Air202F是上海合宙通信科技有限公司推出的64Mb RomGSM/GPRS 通信模块。与以往的Air202Air800等模块相比,重要的区别是Flash空间由32Mb扩充到64Mb,软件上可以同时支持SSLTTS、虚拟SIM卡、UI等所有功能。伴随着另一重大利好消息的发布(Air202F模块价格为含税19元),开发者们再也不用为了捉襟见肘的Flash空间而苦恼不已了!

64Mb8M字节)是如何划分的?

Air202F模块对应的lodLuat_VXXXX_8955F或者Luat_VXXXX_8955F_FLOAT,那么这8M字节的Flash是如何被划分的呢?先看下图

 

 

 其中,在Luat开发模式下,跟用户二次开发密切相关的是“脚本、资源区”和“文件系统区”这两个分区,这两个分区在lod中已经配置好,用户无法改变,下文描述的分区二字,若无特殊说明,指的就是“脚本、资源区”和“文件系统区”

每个分区的大小和具体的lod相对应,以Luat_V0029_8955.lod为例,用记事本打开Luat_V0029_8955.lod,可以看到前十几行中有如下两行内容:

1.   #$SPIFFS_FLASH_SIZE=0X0227000

2.  #$SCRIPT_DATA_SIZE=0x00170000

#$SCRIPT_DATA_SIZE=0x00170000:表示脚本资源区的大小为:0x00170000字节=1.4375M字节

#$SPIFFS_FLASH_SIZE=0X0227000:表示文件系统区的大小为:0X0227000字节=2.15234375M字节

请记住:每种分区的大小并不是一成不变,是和具体的lod相对应,lod发生改变,分区的大小可能会发生改变

 明白了每种分区的大小如何计算后,那么每种分区都用来存放什么内容呢?

1、脚本、资源区

通过LuaTools烧写的脚本文件(*.lua文件)

通过LuaTools烧写的图片、音频、证书等文件(*.png*.mp3*.crt等文件)

总之, 只要是LuaTools的“下载脚本”界面烧写进去的任何文件,都会被放在“脚本、资源区”,所以在这个界面烧写进去的这些文件总空间就不能超过“脚本、资源区”的大小

2、文件系统区

文件系统区存在一个利用率的问题,因为除了存储文件的具体内容,还要存储文件索引表等其他信息,文件数量越多,利用率越低,文件数量越少,利用率越高,利用率一般在85%以上。

远程升级包文件

nvm模块产生的文件

程序运行过程中创建的任何文件,例如通过http下载的一幅图片、一首音乐等

总之,只要是程序运行过程中创建的任何文件,都会存在在“文件系统区”。可通过rtos.get_fs_free_size()实时输出文件系统的可用剩余空间(单位为字节)

谈一下远程升级功能对文件系统空间的使用

1Luatools会对原始的脚本和资源文件进行压缩,生成一个*.bin文件格式的升级包

2、设备通过网络下载这个*.bin文件到文件系统区中

3、重启设备,解压缩*.bin文件,把原始的脚本和资源文件全部解压缩到文件系统区中,所以要保证远程升级可以正常运行,文件系统至少剩余“*.bin文件大小+原始的脚本和资源文件大小”的空间

下图举例说明



原始脚本和资源文件共200KB,生成的升级包文件为100KB,则设备中剩余的的可用文件系统空间至少300KB(再考虑一下文件系统利用率的问题,假设85%的利用率,至少要剩余300*100/85=353KB

  • 发表于 2018-10-17 17:46
  • 阅读 ( 3284 )
  • 分类:默认分类

1 条评论

请先 登录 后评论
不写代码的码农
朱天华

软件工程师

19 篇文章

作家榜 »

  1. 技术销售Delectate 43 文章
  2. 陈夏 26 文章
  3. 国梁 24 文章
  4. miuser 21 文章
  5. 晨旭 20 文章
  6. 朱天华 19 文章
  7. 金艺 19 文章
  8. 杨奉武 18 文章